我想使用一些jni库。所以我把这样的二进制文件:

project
-app
--jnilibs
---armeabi
----libqwerty.so

并在我的build.gradle(应用模块)中:
sourceSets.main {
    jniLibs.srcDirs = ['jniLibs']
}

它按预期工作,但是当我将renderscript添加到项目中时:
renderscriptTargetApi 22
renderscriptSupportModeEnabled true

应用程序不再看到我的jniLibs目录。 getApplicationInfo().nativeLibraryDir的内容为:[libRSSupport.so, librsjni.so]
更新:好的,我能够通过将目录armeabi重命名为armeabi-v7a来解决此问题。但是,如果我想支持其他一些cpu架构怎么办?

最佳答案

请参阅Google开发人员的answer:Arm v6不支持renderscript库,它们没有计划将它们移植回。至于x86,MIPS和64位版本,Gradle会自动将适当的RS二进制文件添加到您的APK中。

08-18 16:20
查看更多