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

所以,我是一个初学Android和Java的人。 我刚开始学习。 我今天正在用意图进行实验时,发生了一个错误。

Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple errors, see logs 

我在这里find了一些解决scheme并试图实现它们,但是它不起作用。

这是我的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' } 

这是我的AndroidManifest:

 <?xml version="1.0" encoding="utf-8"?> 

 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> 

这是我第一个编码的周,如果这真的是一个愚蠢的事情,我很抱歉。 我对这个真的很陌生,没有find别的地方去问。 对不起,如果我违反任何规则

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

  <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> 

所以,清单文件显示模糊。

打开应用程序清单( AndroidManifest.xml ),点击Merged Manifest .Check图片

在这里输入图像说明

您可以在右栏中查看错误,尝试解决错误。它可能会帮助一个有同样问题的人。

我也面临同样的问题,经过大量研究发现解决scheme:

  1. 你的最低SDK版本应该与你使用的模块相同,例如:你的模块min sdk版本是14,你的应用程序最小sdk版本是9它应该是相同的。
  2. 如果你的应用程序和模块的版本不一样。 再次它应该相同**简而言之,您的应用程序build.gradle文件和清单应该有相同的configuration**
  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> 
  1. 如果两个依赖关系不是相同的版本示例:您正在使用依赖的appcompat 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,所以在两个库中存在差异,从而给出错误

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

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

所以通过使用版本25.3.1的appcompat,我们可以避免这个错误

考虑到以上几点,你会摆脱这个令人恼火的问题。 你也可以查看我的博客https://wordpress.com/post/dhingrakimmi.wordpress.com/23

除了可用的解决scheme,请检查这一点。
如果您在AndroidManifest.xml设置了android:allowBackup="false" ,那么在其他依赖关系中可能会出现android:allowBackup="true"的冲突。


如@CLIFFORD PY所示,切换到AndroidManifest.xml Merged Manifest 。 Android Studio会build议在你的AndroidManifest.xml中的<application />中添加tools:replace="android:allowBackup"

我面临同样的问题,我刚刚在我的manifest.xml中添加了一行,它为我工作。

 tools:replace="android:allowBackup,icon,theme,label"> 

在下面添加这一行

 <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"> 

希望它会有所帮助。

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

  1. AndroidManifest.xml

    • 在应用程序中,添加tools:replace="android:icon, android:theme
    • 在Manifest根目录下,添加xmlns:tools="http://schemas.android.com/tools
  2. build.gradle

    • 在根目录下,添加useOldManifestMerger true

作为Android Studio的新手,就我而言,我已经将一个现有的项目从Eclipse移到了Android Studio,发现在我的Manifest.xml中有一个重复的定义,这个定义没有被Eclipse挑选出来一个Gradle错误。

我通过进入Gradle控制台(屏幕右下angular)find了这个。

在过去的几天里,我也遇到了同样的问题。 但是经过大量的研究,我终于find了解决办法。
为了解决这个问题,你需要做的是:
1.检查您的项目的build.gradle文件和模块的build.gradle文件是否包含相同版本的所有依赖项。
2.确保项目的compileSdkVersionbuildToolsVersionminSdkVersiontargetSdkVersion与您添加到项目中的模块相匹配。

 compileSdkVersion 25 buildToolsVersion "25.0.0" defaultConfig { applicationId "com.example.appname" minSdkVersion 16 targetSdkVersion 25 versionCode 22 versionName "2.0.3" } 

希望这可以帮助。

如果在添加Android库模块后出现此错误。
你可以通过从你的Android库模块AndroidManifest.xml中简单地删除android:label="@string/app_name"来修复它

在我的折射器(用SHIFT + F6重命名)中碰到两次我们文件中字段的名称,并要求您在任何地方改变它,而我们却没有注意改变名称。 例如,如果在Java类中有一个variables名“id”,并用SHIFT + F6重命名它。 如果你不注意下一个对话框,它会询问你将在哪里更改id,你打勾检查所有它会改变你的布局文件中的所有id从新值。

这是非常简单的错误,只有当你在mainifest.xml文件中定义任何活动调用两次时才会发生

 <activity android:name="com.futuretech.mpboardexam.Game" ></activity> //and launcher also------like that //solution:use only one