Gradle:执行失败的任务':processDebugManifest'

从昨天开始,我在build筑物发生了一个gradle错误 – 它只是随机发生的。

完整的堆栈跟踪:

我的项目依赖于多个库,并且直到昨天才build成(甚至在图书馆)

compile 'com.google.android.gms:play-services:3.1.36' compile 'com.android.support:support-v4:13.0.0' compile project(":libs:DatabaseCreationHelper") compile project(":libs:actionbarsherlock") 

任何人有一个想法如何解决它? 它只是随机来了…完整的stacktrace在这里:

 * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':ItchyFeet:processDebugManifest'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter$1.run(CacheLockReleasingTaskExecuter.java:35) at org.gradle.internal.Factories$1.create(Factories.java:22) at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:179) at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:232) at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:142) at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83) at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter.execute(CacheLockReleasingTaskExecuter.java:33) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.ContextualisingTaskExecuter.execute(ContextualisingTaskExecuter.java:34) at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter$1.run(CacheLockAcquiringTaskExecuter.java:39) at org.gradle.internal.Factories$1.create(Factories.java:22) at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:124) at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:112) at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:134) at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79) at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter.execute(CacheLockAcquiringTaskExecuter.java:37) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42) at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:282) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.executeTask(DefaultTaskPlanExecutor.java:48) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.processTask(DefaultTaskPlanExecutor.java:34) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:27) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:89) at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23) at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67) at org.gradle.api.internal.changedetection.state.TaskCacheLockHandlingBuildExecuter$1.run(TaskCacheLockHandlingBuildExecuter.java:31) at org.gradle.internal.Factories$1.create(Factories.java:22) at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:124) at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:112) at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:134) at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79) at org.gradle.api.internal.changedetection.state.TaskCacheLockHandlingBuildExecuter.execute(TaskCacheLockHandlingBuildExecuter.java:29) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23) at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67) at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166) at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113) at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81) at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64) at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33) at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26) at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50) at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171) at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201) at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) at org.gradle.launcher.Main.doAction(Main.java:48) at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) at org.gradle.launcher.Main.main(Main.java:39) at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50) at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32) at org.gradle.launcher.GradleMain.main(GradleMain.java:26) Caused by: java.lang.RuntimeException: Manifest merging failed. See console for more info. at com.android.builder.AndroidBuilder.doMerge(AndroidBuilder.java:475) at com.android.builder.AndroidBuilder.mergeLibraryManifests(AndroidBuilder.java:461) at com.android.builder.AndroidBuilder.processManifest(AndroidBuilder.java:301) at com.android.builder.AndroidBuilder$processManifest.call(Unknown Source) at com.android.build.gradle.tasks.ProcessAppManifest.doFullTaskAction(ProcessAppManifest.groovy:65) at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.groovy:71) at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:216) at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:122) at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147) at com.android.build.gradle.tasks.ProcessAppManifest_Decorated.invokeMethod(Unknown Source) at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:217) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:199) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:526) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:509) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) ... 67 more 

find解决这个问题的办法:

gradle assemble -info给我提示Manifests具有不同的SDK版本,不能合并。

我需要编辑我的清单和build.gradle文件,一切工作。


要清楚你需要在AndroidManifest.xml中编辑uses-sdk

 <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" /> 

android部分,特别是build.gradle文件中的minSdkVersiontargetSdkVersion

 android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 14 targetSdkVersion 16 } } 

我希望卢卡斯奥尔森解决scheme适用于其他情况,但在我的情况是完全不同的。

我面临着同时添加ActionBarShelock项目,通过比较旧的库,我发现应用程序标签在清单中缺less。 通过添加一行我解决了我的问题。

 </application> 

一般来说,要查看错误是什么,可以在Android studio中看到合并的Manifest文件

去你的清单文件

在这里输入图像描述

点击底部的标签“合并清单”

在这里输入图像描述

在右边的屏幕上,在“其他清单文件”中,检查由于渐变而导致的任何错误:

在这里输入图像描述

这似乎是因为Google Play服务需要SDK 8版本的Android 2.2。

build.gradle ,确保你的minSdkVersion至less是8 。 默认值是7 。 所以你有这样的东西:

 android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 8 targetSdkVersion 16 } } dependencies { compile 'com.android.support:support-v4:13.0.+' compile 'com.google.android.gms:play-services:3.1.36' } 

当我在应用程序中添加Firebase推送通知时,我也遇到了这个错误。 但在我的情况下,我做了一个非常愚蠢的错误,我注意到一段时间后。 我在下面的代码中声明了两次。 删除重复的声明后。 我的问题解决了。

  <service android:name="com.evampsaanga.mytelenor.firebase.MyFirebaseInstanceIDService"> <intent-filter> <action android:name="com.google.firebase.INSTANCE_ID_EVENT" /> </intent-filter> </service>` 

所以你也检查你的应用程序清单文件中是否有任何重复。

也许这是因为清单中重复的Activity声明。

如果通过Gradle添加诸如ActionBarSherlock之类的依赖项,
仔细设定你的targetSdkVersion 17或以上。

当ActionBarSherlock与私人项目不匹配时,下面引用的是--info日志。

[C:\ Me \ Documents \ GitHub \ project \ AndroidManifest.xml:3,C:\ Me \ Documents \ GitHub \ project \ build \ exploded-bundles \ ComActionbarsherlockActionbarsherlock440.aar \ AndroidManifest.xml:2]使用targetSdkVersion = '17'
:testApp:processDebugManifest FAILED

尽可能保持自己的项目targetSdkVersion

我遇到了同样的问题,我做了什么来解决它是添加

 tools:replace="android:icon" 

在AndroidManifest元素重写

对于我所看到的,如果您有一个Android Studio和Gradle的多模块项目,IDE会尝试每个模块的清单文件合并到主清单中。

如果你有一个模块A和一个模块B,并且在A清单中,你从B模块声明了一些活动,那么在合并时,Gradle将引发一个问题。

尝试删除清单文件中的跨模块引用

我解决了把这一行在应用程序标记…

工具:节点=“replace”

我有同样的问题,没有其他答案帮助。

就我而言,清单文件中的评论是罪魁祸首:

 <manifest [...] android:installLocation="auto"> <!-- change installLocation back to external after test --> <uses-sdk [...] 

(这可能是一个错误,看看在其他地方的意见如何不会造成任何问题。)

它可能是清单文件中添加的重复权限。 在我的情况“重复使用权限android:name =”android.permission.READ_PHONE_STATE“。

尝试改变:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"> ... <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" /> 

至:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> ... <uses-sdk xmlns:tools="http://schemas.android.com/tools" android:minSdkVersion="14" android:targetSdkVersion="16" /> 

如果您使用的是android studio,则应该通过命令提示符(在Windows中)或terminal(在UNIX基本操作系统中)运行android studio,以便在命令提示符窗口中查看有关此错误的更多详细信息。

尝试更新我的Urban Airship到最新版本时,find了另一个可能的解决scheme。 在我的顶级build.gradle文件中,代码如下所示:

 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:0.12.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } 

默认情况下由Android Studio生成。 我将其更改为更新的gradle版本,将其replace为:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.13.+' } } 

之后,项目将build成。

当我跑步时,我遇到了类似的问题

 cordova build android 

哪些报告错误:

  /home/app/phonegap/helloworld/platforms/android/AndroidManifest.xml:15:5 Error: uses-sdk:minSdkVersion 7 cannot be smaller than version 10 declared in library /home/app/phonegap/helloworld/platforms/android/build/intermediates/exploded-aar/android/CordovaLib/unspecified/debug/AndroidManifest.xml Suggestion: use tools:overrideLibrary="org.apache.cordova" to force usage 

:processDebugManifest失败

失败:生成失败,出现exception。

  • 出了什么问题:执行任务'processDebugManifest'失败。

    清单合并失败:uses-sdk:minSdkVersion 7不能小于库/ home / app / phonegap / helloworld / platforms / android / build / intermediates / exploded-aar / android / CordovaLib / unspecified / debug / AndroidManifest中声明的版本10。 xmlbuild议:使用工具:overrideLibrary =“org.apache.cordova”强制使用

就我而言,

 uses-sdk:minSdkVersion 7 cannot be smaller than version 10 declared 

,上面的解决scheme不起作用! 但是我通过replace来解决它们

 <preference name="android-minSdkVersion" value="7" /> 

 <preference name="android-minSdkVersion" value="10" /> 

在这两个文件/home/app/phonegap/helloworld/config.xml ,/ /home/app/phonegap/helloworld/platforms/android/res/xml/config.xml /home/app/phonegap/helloworld/config.xml / /home/app/phonegap/helloworld/platforms/android/res/xml/config.xml /home/app/phonegap/helloworld/config.xml / /home/app/phonegap/helloworld/platforms/android/res/xml/config.xml /home/app/phonegap/helloworld/config.xml / /home/app/phonegap/helloworld/platforms/android/res/xml/config.xml /home/app/phonegap/helloworld/config.xml / /home/app/phonegap/helloworld/platforms/android/res/xml/config.xml

在我的情况下,这是因为我的清单文件中的重复权限,库的minSDKVersion大于我的项目的minSDKVersion。 我只是让minSDKVersion平等并编译成功。

您需要添加到AndroidManifest.xml的两件事:

第1步:添加xmlns:tools =“http://schemas.android.com/tools”来显示标签;

 <manifest xmlns:android="......... package="........... xmlns:tools="http://schemas.android.com/tools"> 

第二:添加工具:replace=“图标”到应用程序标签

 <application android:icon=......... android:label=....... tools:replace="icon"> 

由于compileSdkVersion 26 buildToolsVersion“26.0.0”或编译“com.android.support:appcompat-v7:26.+”

而不是使用compileSdkVersion 25 buildToolsVersion“25.0.3”compile'c​​om.android.support:appcompat-v7:25.+'

我有这些错误,因为我没有安装所需的SDK版本。 在下载并安装build.gradle / Android Manifest文件中包含的SDK版本之后,它就解决了。

我遇到了另一个原因的问题。

我在Android Studio中构build应用程序,我有一个应用程序模块和另一个模块。 应用程序模块依赖于其他模块。

但是应用模块的build.gradle部分是:

 <application android:allowBackup="false" android:label="@string/app_name" android:supportsRtl="true"> ... </application> 

而另一个模块的build.gradle部分是:

 <application android:allowBackup="true" android:label="Android Lua" android:supportsRtl="true"> </application> 

所以,我将模块的build.gradle部分更改为:

 <application android:allowBackup="false" android:label="@string/app_name" android:supportsRtl="true"> </application> 

问题解决了。

Android Manifest文件中的相同活动的重复声明。

就我而言,

我在清单文件中定义两次活动

  <application android:allowBackup="false" android:label="@string/app_name" > <activity android:name="com.xxx.ActivityOne" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden|adjustResize" /> //Problem here.. same activity twice define <activity android:name="com.xxx.ActivityOne" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden|adjustResize" /> </application> 

删除重复的错误解决。

在我的情况下,我已经进入清单文件一个无效的标签结构,我有一个打开的活动closures,但里面的矿石activities (...) ,使文件正确性无效,发现它花了大约两个小时,错误报告丢失/未知<activity>

 compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.1' 

如果这是您添加的依赖关系,则将其更改为:

 compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.4' 

并确保target sdk不应该小于15