AS Gradle build问题

来源:互联网 发布:仿知乎源码 编辑:程序博客网 时间:2024/05/19 10:36

问题一:

Error:(26, 9) Attribute application@icon value=(@drawable/logo) from AndroidManifest.xml:26:9

Error:(28, 9) Attribute application@theme value=(@style/ThemeActionBar) from AndroidManifest.xml:28:9
is also present at XXXX-trunk:XXXXLib:unspecified:15:9 value=(@style/AppTheme)
Suggestion: add 'tools:replace="android:theme"' to <application> element at AndroidManifest.xml:24:5 to override
Error:Execution failed for task ':XXXX:processDebugManifest'.

> Manifest merger failed with multiple errors, see logs


原因:

AS的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性(例如默认生成的Android:icon和android:theme),则此时会合并失败,并报上面的错误。


解决方法有以下2种:

方法1:在app  的Manifest.xml的application标签下添加tools:replace="android:icon, android:theme"(多个属性用,隔开,并且记住在manifest根标签上加入xmlns:tools="http://schemas.android.com/tools",否则会找不到namespace哦)

方法2:在build.gradle根标签上加上useOldManifestMerger true (懒人方法)


参考官方介绍:

http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger


问题二:

自己做的可以独立运行的第三方框架,可作为模块引入集成到app中:

第三方框架的build.gradle:

1.apply plugin: 'com.android.library'
2.defaultConfig中去掉"applicationId"
第三方框架的AndroidManifest.xml:

只保留manifest根标签,去掉application标签





0 0
原创粉丝点击