アンドロイドNDKからRenderScriptを使用する方法の簡単な例を実行しようとしています。私は、この例が見つかりました:AndroidでRenderScriptを使用するNDK
https://github.com/uelordi01/Call_RenderScript_from_NDK
を私は(Androidのスタジオから)私のアプリを実行すると、それはいくつかのライブラリを(それはのように思える)罰金はありません。ここで
はlogcat出力です:04-26 16:18:11.705 26653-26653/uelordi.android.hellocomputendk_rs
E/RS Dispatch: Couldn't initialize dispatchTab.ScriptInvokeIDCreate
04-26 16:18:11.705 26653-26653/uelordi.android.hellocomputendk_rs V/rsC++:
libRS.so init failed!
04-26 16:18:11.705 26653-26653/uelordi.android.hellocomputendk_rs W/linker:
libRSSupport.so: unused DT entry: type 0x6ffffef5 arg 0x37720
04-26 16:18:12.018 26653-26859/uelordi.android.hellocomputendk_rs
E/RenderScript: Couldn't load libRSSupportIO.so
04-26 16:18:12.034 26653-26859/uelordi.android.hellocomputendk_rs
E/RenderScript: Unable to open shared library
(/data/data/uelordi.android.hellocomputendk_rs//lib/librs.mono.so): dlopen
failed: library "libRSSupportIO.so" not found
04-26 16:18:12.034 26653-26859/uelordi.android.hellocomputendk_rs
E/RenderScript: Unable to open system shared library
(/system/lib/librs.mono.so): (null)
04-26 16:18:12.034 26653-26653/uelordi.android.hellocomputendk_rs E/rsC++:
Internal error: Object id 0.
(のrenderScriptファイル名はmono.rs)
私は私がどこかにいくつかのライブラリを追加することになっています考える(libRS.so、libRSSupportIO.so)しかし、私はどこで、どのように、そしてWHY(例が自分で動作するはずなので)
このエラーは、次の行で発生します: sc-> forEach_root(inputAlloc、outputAlloc);
側の質問:
は私がインターネット上に見えたが、はるかに見つけることができませんでした(何も最新)。 Renderscriptはまだ2017年のものです、そうですか?
どのNDKのリリースを使用していますか? –
これはgradle-pluginバグだそうです。 "renderscriptNdkModeEnabled true"を使用する代わりに、RenderScript NDKを使用するためにndk-buildを使用することをお勧めします。例:https://android.googlesource.com/platform/ndk/+/master/tests/device/rs-cpp-basic/jni/ –
私はNDK 14.0.3770861を使用しています。 @MiaoWangレンダスクリプト/ C++をこのように構築すると、共有ライブラリ(または静的ライブラリ)が正しく生成されますか?私はそれを使用したい場合、私はそれを私のCMakeListに追加する必要がありますか? –