添加Lib项目报错:Error:Execution failed for task ':app:processDebugManifest'.解决
2017-10-17 22:41
736 查看
添加Lib项目报错:Error:Execution failed for task ‘:app:processDebugManifest’.解决
今天在创建一个项目的时候添加了一个Lib项目和很多依赖,发现程序运行不起来,最后一个一个依赖去掉,发现是依赖的Lib项目问题。错误情况:
Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple errors, see logs
或者
Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:13:9-43 is also present at [BLEConnect:bleLibrary:unspecified] AndroidManifest.xml:17:9-41 value=(@drawable/o2_icon). Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:11:5-29:19 to override.
报错分析:
上面的第一种情况语句翻译下来就是:合并失败的意思,也就是说Lib工程中有和项目的配置冲突的地方。第二种情况仔细看还是可发现一些提示的:application中的图标和Lib项目中的设置的图标不一致。
原因:
AS的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性(例如默认生成的android:icon和android:theme),则此时会合并失败,并报上面的错误。解决方法:
方法1:在Manifest.xml的application标签下添加tools:replace=”android:icon, android:theme”(多个属性用,隔开,并且记住在manifest根标签上加入xmlns:tools=”http://schemas.android.com/tools”,否则会找不到namespace哦)
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.example.wenzhi.bleconnect" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" tools:replace="android:icon" //这里设置合并的属性 android:theme="@style/AppTheme">
方法2:在build.gradle根标签上加上useOldManifestMerger true (懒人方法)
这个我也没有用过添加Lib项目时,还有时候也会报这个错误:
app’s minSdk is higher than any library’s minSdk.
要求app’s minSdk >= libraries minSdk
也就是说项目中的最小Sdk设置的数值要大于或等于Lib项目中的
这里的minSdk要是build.gradle的才算,在AndroidManfest中的不起作用!
项目中的配置:
Lib项目中的配置:
这里的Lib的最小版本要求比项目的高,所以程序编译会报错
Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 17 declared in library [BLEConnect:bleLibrary:unspecified] > D:\androidStudioWorkPlace\BLEConnect\app\build\intermediates\exploded-aar\BLEConnect\bleLibrary\unspecified\AndroidManifest.xml Suggestion: use tools:overrideLibrary="com.xtremeprog.sdk.ble" to force usage
上面的语句就是说项目中的最小版本SDK号15小于Lib项目中的17,这里只要把项目中的最小SDK改成17或者以上就可以了。
导入Lib项目或添加各种依赖的时候,不要一下子添加很多,要一两个添加,同步一下,看看报错了没有,再添加或做下一步,否则排查起来是很麻烦的。
共勉:做最优秀的自己:不断学习,天天向上
相关文章推荐
- AS导入项目出现Error:Execution failed for task ':app:processDebugManifest'.错误
- Error:Execution failed for task ':app:processDebugManifest'. Manifest merger failed with 问题解决方案
- android 遇到Error:Execution failed for task ':app:processDebugManifest'. > 解决
- [AS尝龟]导入RecyclerView后错误解决方法:Error:Execution failed for task ':app:processDebugManifest'. > Manifest
- android studio导入项目出错:Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger
- android studio导入项目出错:Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger
- Error:Execution failed for task ':app:processDebugManifest'.错误解决
- Error:Execution failed for task ':app:processDebugManifest'. Manifest merger failed with multipl 解决
- Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : Attribute se
- Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple
- 解决 Execution failed for task ':app:process_DebugManifest'
- Android 开发过程中遇到的问题Error:Execution failed for task ':app:processDebugManifest'
- Error:Execution failed for task ':app:processDebugManifest'.
- Error:Execution failed for task ':app:processDebugManifest'. > Manifest merg
- Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple
- Error:Execution failed for task ':app:processDebugManifest'
- Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple
- 解决Android studio编译异常 Error:Execution failed for task ':XXXX:processDebugManifest'
- Error:Execution failed for task ':app:processDebugManifest'.
- Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple