我想使用一些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中。