Manifest Merger在Android Studio中出现多个错误失败

thi*_*wen 207 xml android

所以,我是Android和Java的初学者.我刚开始学习.我今天在试用Intent时遇到了错误.

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs
Run Code Online (Sandbox Code Playgroud)

我在这里找到了一些解决方案并试图实现它们,但它没有用.

这是我的build.gradle:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.0"

defaultConfig {
    applicationId "com.example.rohan.petadoptionthing"
    minSdkVersion 10
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
}
Run Code Online (Sandbox Code Playgroud)

这是我的AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

package="com.example.rohan.petadoptionthing" >

<application

    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".Second"
        />

    <activity android:name=".third"/>
    <activity android:name=".MainActivity"/>


</application>
Run Code Online (Sandbox Code Playgroud)

这是我编码的第一周,如果这是一件非常愚蠢的话,我很抱歉.我真的很陌生,没有找到任何其他地方要问.对不起,如果我违反任何规则

CLI*_*P Y 815

打开应用程序清单(AndroidManifest.xml),单击Merged Manifest.检查图像

在此输入图像描述

你可以在右列中查看错误,尝试解决错误.它可能会帮助一个有同样问题的人.从这里了解更多

  • 太棒了……找不到言语来表达我的感谢 (10认同)
  • 就我而言,我将其向下滚动一点以查看错误 (3认同)

And*_*eek 117

<activity android:name=".MainActivity"/>从您的mainfest文件中删除 .正如您已将其定义为:

 <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

所以,Manifest文件显示模棱两可.

  • 当它仅修复Rowen的代码但对其他任何人完全没有帮助时,这是公认的答案,这太糟糕了。CLIFFORD的答案实际上显示了如何按照错误消息的建议“查看日志”。 (30认同)

Kim*_*gra 59

我也遇到了同样的问题,经过大量研究后发现了解决方案:

  1. 你的min sdk版本应该与你正在使用的模块相同,例如:你的模块min sdk版本是14,你的app min sdk版本是9它应该是相同的.
  2. 如果你的应用程序和模块的构建版本不一样.同样它应该相同**简而言之,您的应用程序build.gradle文件和清单应该具有相同的配置**
  3. 清单文件中两次添加相同权限没有重复,相同的活动提到两次.
  4. 如果您从项目中删除了任何活动,也可以从清单文件中删除它.
  5. 有时它是因为清单文件的标签,图标等标签:

a)xmlns:tools在清单标记中添加该行.

b)添加tools:replace=tools:ignore=在应用程序标签中.

例:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.slinfy.ikharelimiteduk"
    xmlns:tools="http://schemas.android.com/tools"
    android:versionCode="1"
    android:versionName="1.0" >

  <application
      tools:replace="icon, label"
      android:label="myApp"
      android:name="com.example.MyApplication"
      android:allowBackup="true"
      android:hardwareAccelerated="false"
      android:icon="@drawable/ic_launcher"
      android:theme="@style/Theme.AppCompat" >
  </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)
  1. 如果两个依赖不相同的版本例如:您正在使用程序兼容性V7依赖:26.0.0和Facebook的com.facebook.android:facebook-android-sdk:[4,5)Facebook的使用版本com.android的cardview.支持:cardview-v7:25.3.1和appcompat v7:26.0.0使用版本v7:26.0.0的cardview,因此两个库中存在distrpancy因此给出错误

错误:任务':app:processDebugManifest'的执行失败.

清单合并失败:27:9从[com.android.support:appcompat-v7:26.0.0-alpha1]的AndroidManifest.xml属性meta-data#android.support.VERSION@value值=(26.0.0-ALPHA1) -38也存在于[com.android.support:cardview-v7:25.3.1] AndroidManifest.xml:24:9-31 value =(25.3.1).建议:在AndroidManifest.xml:25:5-27:41中添加'tools:replace ="android:value"'来覆盖.

因此,通过使用版本25.3.1的appcompat,我们可以避免此错误

通过考虑以上几点,你将摆脱这个恼人的问题.您也可以查看我的博客 https://wordpress.com/post/dhingrakimmi.wordpress.com/23


Ani*_*ban 56

对我来说这是有效的 -

寻找合并错误 AndroidManifest.xml

在此输入图像描述

点击Merged Manifest in AndroidManifest.xml

在此输入图像描述

您可以在右列中查看清单合并错误.它可能有助于解决这个问题.

  • 这是解决此问题的通用方法。这可以帮助您找到有关此问题的真正原因。 (3认同)

小智 18

如果您的项目针对 Android 12,则将其添加到所有<activity>标签中<intent-filter>

android:exported="true/false"
Run Code Online (Sandbox Code Playgroud)


Pre*_*ker 12

我遇到了同样的问题,我刚刚在manifest.xml中添加了一行,它对我有用.

tools:replace="android:allowBackup,icon,theme,label,name"> 
Run Code Online (Sandbox Code Playgroud)

在此下添加此行

<application
    android:name=".MyApplication"
    android:allowBackup="true"
    android:icon="@drawable/launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:screenOrientation="portrait"
    android:supportsRtl="true"
    android:theme="@style/AppThemecustom"
    tools:replace="android:allowBackup,icon,theme,label">
Run Code Online (Sandbox Code Playgroud)

希望它会有所帮助.


Chi*_*hah 10

除了可用的解决方案,请同时检查.
如果您已经设置了android:allowBackup="false",AndroidManifest.xmlandroid:allowBackup="true"其他依赖项可能存在冲突.

解决方案
正如@CLIFFORD PY所建议的那样,切换到Merged Manifest你的AndroidManifest.xml.Android的工作室会建议添加tools:replace="android:allowBackup"<application />你的AndroidManifest.xml.


صلي*_*ouk 10

对我来说解决方案是这样的:

1-打开清单

2-在右上角,检查突出显示的问题,如下所示:

3 单击红色的问题图标。这将打开如下所示的问题选项卡。 问题选项卡

4-一一解决


Kim*_*Kim 9

我也面临这个错误。在构建日志中,最后一行是“无法编译值文件”。

因此,如果您遇到同样的问题,那么只需在 gradle.properties 文件中添加以下行很可能会解决该问题。

android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)

我的意思是它Manifest Merger failed with multiple errors in Android Studio为我修复了错误。


Par*_*tel 8

在我的情况下,它显示错误,因为<uses-permission>元素中存在冗余.因此,请检查您的AndroidManifest.xml文件是否相同.

Android Studio版本是3.0.1

操作系统是Windows 7

这是截图供参考.

屏幕截图显示清单文件中的冗余.


san*_*alp 7

只需在您的项目清单应用程序标记中添加以下代码即可...

<application
        tools:node="replace">
Run Code Online (Sandbox Code Playgroud)


小智 6

通常在清单中出现错误时发生.打开AndroidManifest.xml.单击合并的清单选项卡.可以在那里看到错误.还包括那里提到的建议.当我在导入com.google.android.gms时出现类似问题时.maps.model.LatLng,它建议我在应用程序标记中包含工具:overrideLibrary ="com.google.android.gms.maps",并且构建成功.


COR*_*ian 5

我通过Refactor-> Migrate to AndroidX解决了这个问题

GL