2017-03-15 29 views
4

我尝试了一些预编译的本地库构建Android应用程序: liba.solibb.so.1.2.3如何使用Gradle将versioned * .so文件包含到apk中?

库放入jniLibs子目录。 构建APK文件后,仅包含liba.so,但不包含libb.so.1.2.3

结果是可预测的。应用程序在启动时崩溃。

如何构建脚本以将jniLibs中的所有文件包含到APK中?

+0

你能解决你的问题吗?我也需要解决方案。 – user1506104

回答

0

不幸的是,我不再为Android开发,所以我无法测试这个,但我知道Gradle,这可能适合你。纵观Android DSL docs,你也许可以改变对jniLibs文件夹中的过滤:

android { 
    sourceSets { 
     main { 
      jniLibs.filter.include("**/*") 
     } 
    } 
} 

让我知道这是否正常工作!

+0

我试过这个,它给出了一个错误:**不能设置只读属性:过滤类:com.android.build.gradle.internal.api.DefaultAndroidSourceDirectorySet ** – kostashv

+0

你可以尝试设置整个jniLibs吗?如果我可以安装Android SDK,我可以尝试明天测试它。但它会像'jniLibs {filter =''srcDir =''}'等等(文档中的所有属性)。 – sm4

+0

所以过滤器是一个PatternSet。我已经更新了我的答案。这编译(我试着用Android插件),但我不能部署应用程序,因为我没有任何.so试试。 – sm4

相关问题