📌  相关文章
📜  在Android Studio中修复“任务’:processDebugManifest’的执行失败”的不同方法

📅  最后修改于: 2021-05-08 19:38:51             🧑  作者: Mango

AndroidManifest.xml文件是Android Project中最重要的文件之一。此文件处理您的Android Studio项目中的所有其他文件,还为Android中生成的apk提供apk名称和应用程序徽标。很多时候,在构建Android项目时,Manifest文件会被覆盖。因此,我们将看到这种问题,因为Android Project中的任务’:processDebugManifest’执行失败。错误对话框如下所示:

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

因此,在本文中,我们将通过5种不同的方法来解决这个问题。

  • 方法1:在build.gradle文件中添加代码段
  • 方法2:在您的AndroidManifest.xml文件中添加节点
  • 方法3:将minSDK和targetSDK更新到最高版本
  • 方法4:从清单文件中删除重复项
  • 方法5:在添加新的依赖项时检查要求

方法1:在build.gradle文件中添加代码段

在这种方法中,我们将更新构建工具版本并检查问题。为此,请在您的build.gradle文件中添加以下代码。导航至应用程序> Gradle脚本> build.gradle(:app),然后将以下代码段添加到“依赖项”部分。注释已添加到其中,以更详细地了解。

// in below line we are adding configurations to to our project.
configurations.all {
    // in below line we are adding strategy for each dependency and requesting the details 
    resolutionStrategy.eachDependency {DependencyResolveDetails details ->
        // on below line we are getting to see the details using requested. 
        def requested = details.requested
        // in below line we are requesting a group. 
        if (requested.group == 'com.android.support'){
            // on below line we are checking if the request is a group and checking if it starts with com.android.support.
            if(!requested.name.startsWith("multidex")){
                // if the requested name starts with multi dex then we are displaying the use version which is given below. 
                details.useVersion '25.3.0'
            }
        }
    }
} 

添加此代码后,现在同步您的项目,然后再次运行您的应用程序以解决此问题。

方法2:在您的AndroidManifest.xml文件中添加节点

在此过程中,我们将在AndroidManifest.xml文件中添加一个属性。我们必须在如下所示的应用程序标签中添加此属性。以下是整个清单文件的代码。添加此文件之后。同步您的项目,然后再次运行您的项目以解决此问题。

XML

  
    
    
        
        
            
            
                
  
                
            
        
    
  


方法3:将minSDK和targetSDK更新到最高版本

导航至应用程序> Gradle脚本> build.gradle(:app),然后在默认配置部分中添加更新SDK版本,如下所示。将以下代码添加到默认配置部分,并同步您的项目。添加此代码后,请同步您的项目,然后运行您的应用程序以解决此问题。

defaultConfig {
        applicationId "com.example.gfgpagination"
        minSdkVersion 19
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  } 

方法4:从清单文件中删除重复项

在项目中使用Firebase或任何其他外部服务时。有一些代码块被添加多次。删除清单文件中添加的重复代码。同步您的项目,然后运行您的应用程序以解决此问题。

方法5:在添加新的依赖项时检查要求

当我们添加新的依赖项时,请确保检查此依赖项所必需的依赖项要求,例如minSDK版本和targetSDK版本。如果多个依赖项在您的Gradle文件中显示冲突,则我们可能必须删除该依赖项才能解决此问题。

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!