android studio 将已有的项目 以module Library的 形式引入到 现在的项目中可能碰到的一些问题
阅读原文时间:2021年04月21日阅读:1
假设在Android Studio中,有ModuleA和ModuleB,我们希望ModuleA依赖ModuleB,运行时候可能会出现各种问题

1、问题一

问题:

unspecified on project app resolves to an APK archive which is not supported as a compilation dependency

解决办法:出现这个问题的原因在于ModuleB中的build.gradle


apply plugin: 'com.android.application' 

这句话告诉了Gradle将ModuleB编译称为apk,导致出现了问题。解决办法,将上面那句话改为

apply plugin: 'com.android.library'     

将它编译成库。

2、问题二

问题:

Error: Library projects cannot set applicationId. applicationId is set to "com.example.aroundworld.mysdk" in default config

解决办法:将ModuleB的build.gradle中的下面这句代码删除


applicationId "com.example.aroundworld.mysdk"

3、问题三

问题:

Error:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed : Attribute application@name value=(com.example.aroundworld.workdemo.MyApplication) from AndroidManifest.xml:18:9-38is also present at [WorkDemo:sdk:unspecified] AndroidManifest.xml:19:9-59 value=(com.example.aroundworld.mysdk.MyApp).Suggestion: add 'tools:replace="android:name"' to <application> element at AndroidManifest.xml:17:5-49:19 to override.

解决办法是
:在Manifest.xml的application标签下添加tools:replace=”android:name”

有时候还会出现icon或者theme合并的失败,这个时候只需要在tools:replace中加上那些合并失败的就可以了,如

tools:replace="android:label,android:theme,android:icon,android:name"

多个属性用,隔开

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器