在构建具有两个库模块的父项目时会出现"重复文件"冲突,这两个库模块使用相同的libc++_shared.so
共享库.
(注意:请不要认为这是一个"重复的问题".我已经阅读了几篇相关的帖子,这些帖子帮助我做到了这一点.但是,没有帖子提供了一个在我的案例中涉及NDK工件的答案.)
当我只有一个这样的库模块时,构建工作正常.添加第二个库模块现在正在产生冲突.
考虑以下项目结构:1个父项目,2个"子"项目 - 但每个项目位于相同的目录级别(即不按层次结构嵌套)
ProjectA/ (Parent)
LibraryModuleA1/
build/exploded-aar/com.package.name/
LibraryModuleB1/<version>/jni/armeabi-v7a/libc++_shared.so
LibraryModuleC1/<version>/jni/armeabi-v7a/libc++_shared.so
build.gradle (bgA1)
Test_APK_Module A1T/
build.gradle (bgA1T)
build.gradle (bgPA)
ProjectB/
LibraryModuleB1/ (Uses NDK)
build/lib/armeabi-v7a/libc++_shared.so
build.gradle (bgB1)
build.gradle (bgPB)
ProjectC/
LibraryModuleC1/ (Uses NDK)
build/lib/armeabi-v7a/libc++_shared.so
build.gradle (bgC1)
build.gradle (bgPC)
Run Code Online (Sandbox Code Playgroud)
库模块A1依赖于库模块B1和C1.
A1 - > B1
A1 - > C1
项目B和C都具有基于NDK的代码并正确构建/测试.两者都依赖于libc++_shared.so
共享库.
但是,在构建项目A时,我在:LibraryModuleA1:packageDebugTest
任务期间收到以下错误:
Error: duplicate files during packaging of APK /ProjectA/LibraryModuleA1/build/apk/LibraryModuleA1-debug-test-unaligned.apk
Path in archive: lib/armeabi-v7a/libc++_shared.so
Origin 1: /ProjectA/LibraryModuleA1/build/exploded-aar/com.package.name/LibraryModuleB1/<version>/jni/armeabi-v7a/libc++_shared.so
Origin 2: /ProjectA/LibraryModuleA1/build/exploded-aar/com.package.name/LibraryModuleC1/<version>/jni/armeabi-v7a/libc++_shared.so
You can ignore …
Run Code Online (Sandbox Code Playgroud)