Manifest merger failed问题:tools:replace="android:theme"和tools:replace="android:icon"
Error:Execution failed for task ‘
processDebugManifest’.
Manifest merger failed
: Attribute activity#com.facebook.FacebookActivity@theme
value=(@android:style/Theme.Translucent.NoTitleBar) fromAndroidManifest.xml:41
:9-68
is also present at [] AndroidManifest.xml
13-63 value=(@style/com_facebook_activity_theme).
Suggestion
: add'tools:replace="android:theme"'
to element atAndroidManifest.xml
5-
41
:70 to override.
报错原因
这种tools:replace="android:theme"
或者tools:replace="android:icon"
之类的问题。是因为自己的项目中和第三方库中的标签冲突导致合并失败。
解决办法
我们针对报错信息进行分析,在AndroidManifest
的第41行
产生了冲突,根据建议Suggestion
我们知道需要在该第41行
的属性上添加提示的 'tools:replace="android:theme"'
即可。
话不多说,Theme
和icon
冲突解决的代码如下:
例如Activity的Theme冲突:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ========下面的命名空间一定要添加========= xmlns:tools="http://schemas.android.com/tools" ... >
<application ... <activity android:name="com.facebook.FacebookActivity" =========以下为关键一行内容============ android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
</application>
</manifest>
例如Application的icon冲突:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ========下面的命名空间一定要添加========= xmlns:tools="http://schemas.android.com/tools">
<application ... =========以下为关键一行内容============ tools:replace="android:icon" android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
...
</application>
</manifest>
如果两者都冲突
通过逗号进行合并
tools:replace="android:icon,android:theme"
还没有评论,来说两句吧...