Manifest merger failed问题:tools:replace="android:theme"和tools:replace="android:icon"

清疚 2022-05-29 04:07 355阅读 0赞

Error:Execution failed for task ‘:app:processDebugManifest’.
Manifest merger failed : Attribute activity#com.facebook.FacebookActivity@theme value=(@android:style/Theme.Translucent.NoTitleBar) from AndroidManifest.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 at AndroidManifest.xml:38:5-41:70 to override.

报错原因

这种tools:replace="android:theme"或者tools:replace="android:icon"之类的问题。是因为自己的项目中和第三方库中的标签冲突导致合并失败。

解决办法

我们针对报错信息进行分析,在AndroidManifest第41行产生了冲突,根据建议Suggestion我们知道需要在该第41行的属性上添加提示的 'tools:replace="android:theme"'
即可。

话不多说,Themeicon冲突解决的代码如下:

例如Activity的Theme冲突:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" ========下面的命名空间一定要添加========= xmlns:tools="http://schemas.android.com/tools" ... >
  3. <application ... <activity android:name="com.facebook.FacebookActivity" =========以下为关键一行内容============ android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
  4. </application>
  5. </manifest>

例如Application的icon冲突:

  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android" ========下面的命名空间一定要添加========= xmlns:tools="http://schemas.android.com/tools">
  2. <application ... =========以下为关键一行内容============ tools:replace="android:icon" android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
  3. ...
  4. </application>
  5. </manifest>

如果两者都冲突

通过逗号进行合并

  1. tools:replace="android:icon,android:theme"

发表评论

表情:
评论列表 (有 0 条评论,355人围观)

还没有评论,来说两句吧...

相关阅读