Error:Execution failed for task ‘:app:processDebugManifest’.
Manifest merger failed: Attribute activity#com.facebook.FacebookActivity@themevalue=(@android:style/Theme.Translucent.NoTitleBar) fromAndroidManifest.xml:41:9-68
is also present at [:facebook-common:] AndroidManifest.xml:32:13-63 value=(@style/com_facebook_activity_theme).
Suggestion: add'tools:replace="android:theme"'to element atAndroidManifest.xml:38: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"
本文介绍了解决Android项目中因第三方库引入而导致的AndroidManifest文件冲突问题。主要关注Theme和icon属性冲突的情况,并提供了具体的修改代码示例。
409

被折叠的 条评论
为什么被折叠?



