android studio 将已有的项目 以module Library的 形式引入到 现在的项目中可能碰到的一些问题

假设在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"

多个属性用,隔开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值