Manifest值冲突解决方法

简介:


FBI Warning:欢迎转载,但请标明出处:http://blog.csdn.net/codezjx/article/details/38669939,未经本人同意请勿用于商业用途,感谢支持!

整理了一些这段时间遇到的常见问题,希望对各位猿们有帮助。。。如果觉得有用就点个赞哦

问题一:

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:在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

问题二: 
Library Project里面的BuildConfig.DEBUG永远都是false。这是Android Studio的一个已知问题,某Google的攻城狮说,Library projects目前只会生成release的包。 
Issue 52962: https://code.google.com/p/android/issues/detail?id=52962

解决方法:(某Google的攻城狮推荐的方法) 
Workaround: instaed of BuildConfig.DEBUG create another boolean variable at lib-project’s e.g. BuildConfig.RELEASE and link it with application’s buildType. 
https://gist.github.com/almozavr/d59e770d2a6386061fcb

参考stackoverflow上的这篇帖: 
http://stackoverflow.com/questions/20176284/buildconfig-debug-always-false-when-building-library-projects-with-gradle

问题三: 
每次保存的时候,每行多余的空格和TAB会被自动删除(例如结尾、空行的多余空格或TAB) 
特别是每次准备提交SVN,Review代码时候你就蛋疼了,显示一堆不相关的更改,看的眼花。

解决方法: 
Settings->IDE Settings->Editor->Other->Strip trailing spaces on Save->None

问题四: 
编译的时候,报:Failure [INSTALL_FAILED_OLDER_SDK]。一般是系统自动帮你设置了compileSdkVersion

解决方法: 
修改build.gradle下的compileSdkVersion ‘android-L’为compileSdkVersion 19(或者你本机已有的SDK即可)



    本文转自 一点点征服   博客园博客,原文链接:http://www.cnblogs.com/ldq2016/p/7053833.html,如需转载请自行联系原作者


相关文章
|
3月前
|
Java Maven 数据安全/隐私保护
弄懂maven仓库 & 仓库优先级 & settings & pom配置关系及差异
弄懂maven仓库 & 仓库优先级 & settings & pom配置关系及差异
491 1
|
1天前
|
Android开发 芯片
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
10 3
|
6月前
|
UED
SAPUI5 本地工程中的键值对 sapux - true 的作用
SAPUI5 本地工程中的键值对 sapux - true 的作用
24 0
|
10月前
|
开发工具 git
Git派生的项目提交合并请求之后代码被覆盖
Git派生的项目提交合并请求之后代码被覆盖
253 0
|
Android开发
android自定义混淆字典及生成混淆字典文件
android自定义混淆字典及生成混淆字典文件
700 0
android自定义混淆字典及生成混淆字典文件
|
开发工具 git iOS开发
iOS开发 - 不小心删除了Copy Bundle Resources怎么办?(多人开发频繁添加删除图片导致图片路径重复,编译报错)
iOS开发 - 不小心删除了Copy Bundle Resources怎么办?(多人开发频繁添加删除图片导致图片路径重复,编译报错)
173 0
iOS开发 - 不小心删除了Copy Bundle Resources怎么办?(多人开发频繁添加删除图片导致图片路径重复,编译报错)
|
PHP 数据库
【laravel项目】@13 解决访问器与数据填充冲突(2)
【laravel项目】@13 解决访问器与数据填充冲突
96 0
【laravel项目】@13 解决访问器与数据填充冲突(2)
|
PHP 数据库
【laravel项目】@13 解决访问器与数据填充冲突(1)
【laravel项目】@13 解决访问器与数据填充冲突
84 0
【laravel项目】@13 解决访问器与数据填充冲突(1)
|
PHP
【laravel项目】@13 解决访问器与数据填充冲突(3)
【laravel项目】@13 解决访问器与数据填充冲突
68 0
【laravel项目】@13 解决访问器与数据填充冲突(3)
|
安全 Android开发 数据安全/隐私保护
【Android 安全】DEX 加密 ( Application 替换 | 判定自定义 Application 存在 | 获取 ContextImpl 对象 )
【Android 安全】DEX 加密 ( Application 替换 | 判定自定义 Application 存在 | 获取 ContextImpl 对象 )
124 0

热门文章

最新文章