java - 如何配置 Android Studio 来消除这些错误?

标签 java android android-studio error-handling

尝试将项目导入到我的 android studio 版本后,我遇到了以下错误:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugResources'.
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.lang.Thread.run(Thread.java:745)

为了缓解这个问题,我将 android studio 项目设置为 android sdk 26,但它未能缓解该问题。我也尝试过更新构建 gradle,但这还没有产生有希望的结果。

这是我收到错误的区域:

boolean workerStarted = false;
        boolean workerAdded = false;
        Worker w = null;
        try {
            w = new Worker(firstTask);
            final Thread t = w.thread;
            if (t != null) {
                final ReentrantLock mainLock = this.mainLock;
                mainLock.lock();
                try {
                    // Recheck while holding lock.
                    // Back out on ThreadFactory failure or if
                    // shut down before lock acquired.
                    int rs = runStateOf(ctl.get());

                    if (rs < SHUTDOWN ||
                        (rs == SHUTDOWN && firstTask == null)) {
                        if (t.isAlive()) // precheck that t is startable
                            throw new IllegalThreadStateException();
                        workers.add(w);
                        int s = workers.size();
                        if (s > largestPoolSize)
                            largestPoolSize = s;
                        workerAdded = true;
                    }
                } finally {
                    mainLock.unlock();
                }
                if (workerAdded) {
                    t.start();
                    workerStarted = true;
                }
            }
        }

我希望运行我的构建,但上面的错误消息是我得到的。

这是完整的堆栈跟踪:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugResources'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
    at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Failed to execute aapt
    at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:201)
    at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:82)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
    ... 32 more
Caused by: com.android.ide.common.process.ProcessException: Failed to execute aapt
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:867)
    at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:194)
    ... 48 more
Caused by: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Error while executing process C:\Users\Ahers\AppData\Local\Android\Sdk\build-tools\26.0.2\aapt.exe with arguments {package -f --no-crunch -I C:\Users\Ahers\AppData\Local\Android\Sdk\platforms\android-26\android.jar -M \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\manifests\full\debug\AndroidManifest.xml -S C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\res\merged\debug -m -J \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\generated\source\r\debug -F C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\res\resources-debug.ap_ -D \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\multi-dex\debug\manifest_keep.txt --debug-mode --custom-package com.example.cupidlove -0 apk --output-text-symbols \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\symbols\debug --no-version-vectors}
    at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
    at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:865)
    ... 49 more
Caused by: com.android.ide.common.process.ProcessException: Error while executing process C:\Users\Ahers\AppData\Local\Android\Sdk\build-tools\26.0.2\aapt.exe with arguments {package -f --no-crunch -I C:\Users\Ahers\AppData\Local\Android\Sdk\platforms\android-26\android.jar -M \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\manifests\full\debug\AndroidManifest.xml -S C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\res\merged\debug -m -J \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\generated\source\r\debug -F C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\res\resources-debug.ap_ -D \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\multi-dex\debug\manifest_keep.txt --debug-mode --custom-package com.example.cupidlove -0 apk --output-text-symbols \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\symbols\debug --no-version-vectors}
    at com.android.build.gradle.internal.process.GradleProcessResult.buildProcessException(GradleProcessResult.java:74)
    at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:49)
    at com.android.builder.internal.aapt.AbstractProcessExecutionAapt$1.onSuccess(AbstractProcessExecutionAapt.java:78)
    at com.android.builder.internal.aapt.AbstractProcessExecutionAapt$1.onSuccess(AbstractProcessExecutionAapt.java:74)
    at com.google.common.util.concurrent.Futures$6.run(Futures.java:1319)
    at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)
    at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)
    at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)
    at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)
    at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53)
    at com.android.build.gradle.internal.process.GradleProcessExecutor$1.run(GradleProcessExecutor.java:60)
Caused by: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Ahers\AppData\Local\Android\Sdk\build-tools\26.0.2\aapt.exe'' finished with non-zero exit value 1
    at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:382)
    at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:47)

最佳答案

从堆栈跟踪中,可以猜测错误是由于 Android 资源引起的,或者更具体地说,是由于 XML 文件引起的,

Execution failed for task ':app:processDebugResources'

更进一步,我们可以看到 -

Error while executing process C:\Users\Ahers\AppData\Local\Android\Sdk\build-tools\26.0.2\aapt.exe with arguments {package -f --no-crunch -I C:\Users\Ahers\AppData\Local\Android\Sdk\platforms\android-26\android.jar -M \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\manifests\full\debug\AndroidManifest.xml -S C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\res\merged\debug -m -J \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\generated\source\r\debug -F C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\res\resources-debug.ap_ -D \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\multi-dex\debug\manifest_keep.txt --debug-mode --custom-package com.example.cupidlove -0 apk --output-text-symbols \\?\C:\Users\Ahers\Downloads\codecanyon-wL3wOIIS-cupid-love-dating-native-android-application\MainFile\CupidLove\Androidapp\CuipdLove_paid_feature_added\app\build\intermediates\symbols\debug --no-version-vectors}

通过分析上面的错误信息,我可以给你以下建议,

  • 我们可以看到构建工具版本是26.0.2。确保编译版本和目标 SDK 版本不高于该版本。尝试使它们保持同一版本。如果项目有多个模块,则检查所有模块是否具有相同的版本。还要尝试匹配 Gradle 版本。
  • 正如我们所见,aapt 在处理 AndroidManifest.xml 文件时抛出错误,那么最可能的原因可能是该文件中的任何格式错误的条目。因此,我建议您仔细检查 list 文件中的每一行(包括所有风格)。特别是检查 Manifest 中所有风格的第 3 方 SDK 条目的正确实现。
  • 尝试从构建菜单中清理项目并使缓存无效并从文件菜单中重新启动。
  • 最后但并非最不重要的一点是,尝试从 android studio 默认窗口右侧的 Gradle 工具栏构建您的应用程序。选择您的模块 -> 任务 -> 构建 -> 构建 。通过这样做,您可能会在运行选项卡中获得更多详细信息日志。这将帮助您快速调试。

关于java - 如何配置 Android Studio 来消除这些错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57860444/

相关文章:

Java递归方法将参数的数字相加

java - 将 HashMap 数据从手机传输到 Android Wear

java - Android Studio - 带有图像的 Activity 会使模拟器崩溃,但可以在手机中使用

java - Android 应用程序因 NPE 崩溃

android - Gradle 嵌套、多项目、共享库环境设置

java - 从另一个类的 Gui 类调用 print Text 方法

java - 有没有办法过滤包含特定模式的RDD

android - 如何在android中使用NFC在两个设备之间发送数据?

android - 通过观察 ViewModel 在 RecyclerView 中搜索 PagedList 的 LiveData

android - 使用 retrolambda 和 Android 时出现 eclipse 错误