启用 renderscript 使应用程序忽略 jniLibs

Enabling of renderscript makes app to ignore jniLibs

我想使用一些 jni 库。所以我像这样放置二进制文件:

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

在我的 build.gradle(应用程序模块)中:

sourceSets.main {
    jniLibs.srcDirs = ['jniLibs']
}

它按预期工作,但是当我将渲染脚本添加到我的项目时:

renderscriptTargetApi 22
renderscriptSupportModeEnabled true

应用程序不再看到我的 jniLibs 目录。而getApplicationInfo().nativeLibraryDir的内容是:[libRSSupport.so, librsjni.so]

更新: 好的,我只需将目录 armeabi 重命名为 armeabi-v7a 即可解决此问题。但是,如果我想支持其他一些 cpu 架构怎么办?

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