pka*_*pka 7 android android-ndk android-studio android-gradle-plugin
我的问题类似于这里提出的问题:
如何在多项目Android Build中排除重复的C共享库(.so)?
在我的项目中,我有一个共享库,它有一些本机代码MySharedLib
.我有一个TestDuplicateSharedLibApp
依赖的应用程序,MySharedLib
也有本机代码.
作为gradle构建的一部分,我ndk-build
通过设置禁用自动呼叫jni.srcDirs =[]
.我明确地调用了ndk-build命令.
作为MySharedLib
构建过程的一部分,libMySharedLib.so
生成并打包到MySharedLib.aar
.
TestDuplicateSharedLibApp
取决于MySharedLib
.作为ndk-build的一部分,libTestDuplicateSharedLibApp.so
并被libMySharedLib.so
复制到TestDuplicateSharedLibApp/libs
目录中.
因为我需要在最终的apk中打包共享库,所以我jniLibs.srcDirs=['libs']
在build.gradle中.
当最终的apk被打包时,包装因副本的副本而失败libMyShared.so
,其中一个来自MySharedLib.aar
和来自TestDuplicateSharedLibApp/libs
.我试过pick-first
并exclude
打包选项,但他们没有帮助.
基本上我需要的是jniLibs.srcDirs
文件的等价物.在TestDuplicateSharedLibApp
我想说:只包括libTestDuplicateSharedLibApp.so
.我设想这样做:jniLibs.srcDirs=[]
并且,如果存在jniLibs.srcFiles
选项jniLibs.srcFiles='libTestDuplicateSharedLibApp.so'
我很感激解决这个问题的见解.
归档时间: |
|
查看次数: |
787 次 |
最近记录: |