【问题标题】:Cannot build android project using Android Studio - Gradle 1.7无法使用 Android Studio - Gradle 1.7 构建 android 项目
【发布时间】:2013-10-10 11:33:36
【问题描述】:

我在使用 Gradle 和 Android Studio 时遇到了很多问题。

对项目中的任何资源进行更改都会在编译期间随机给出异常,这是我在 Android Studio 中看到的:

Gradle: Error while executing aapt command
Gradle: Execution failed for task ':App Code:processReleaseResources'.

这就是我看到的手动执行 Gradle:

"/Applications/Android Studio.app/sdk/tools/templates/gradle/wrapper/gradlew" asD
Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0
:App Code:preBuild UP-TO-DATE                                 
:App Code:preDebugBuild UP-TO-DATE  
:App Code:preReleaseBuild UP-TO-DATE  
:libraries:facebook:compileLint             
:libraries:facebook:copyReleaseLint UP-TO-DATE  
:libraries:facebook:mergeReleaseProguardFiles UP-TO-DATE  
:libraries:facebook:packageReleaseAidl UP-TO-DATE  
:libraries:facebook:preBuild UP-TO-DATE  
:libraries:facebook:preReleaseBuild UP-TO-DATE  
:libraries:facebook:prepareReleaseDependencies             
:libraries:facebook:compileReleaseAidl UP-TO-DATE  
:libraries:facebook:compileReleaseRenderscript UP-TO-DATE  
:libraries:facebook:generateReleaseBuildConfig UP-TO-DATE  
:libraries:facebook:mergeReleaseAssets UP-TO-DATE  
:libraries:facebook:mergeReleaseResources UP-TO-DATE  
:libraries:facebook:processReleaseManifest UP-TO-DATE  
:libraries:facebook:processReleaseResources UP-TO-DATE  
:libraries:facebook:generateReleaseSources UP-TO-DATE  
:libraries:facebook:compileRelease UP-TO-DATE  
:libraries:facebook:processReleaseJavaRes UP-TO-DATE  
:libraries:facebook:packageReleaseJar UP-TO-DATE  
:libraries:facebook:packageReleaseLocalJar UP-TO-DATE  
:libraries:facebook:packageReleaseRenderscript UP-TO-DATE  
:libraries:facebook:packageReleaseResources UP-TO-DATE  
:libraries:facebook:bundleRelease UP-TO-DATE  
:App Code:prepareComAndroidSupportAppcompatV71800Library UP-TO-DATE  
:App Code:prepareComGoogleAndroidGmsPlayServices3136Library UP-TO-DATE  
:App Code:prepareLatestUpdateLibrariesFacebookUnspecifiedLibrary UP-TO-DATE  
:App Code:prepareDebugDependencies             
:App Code:compileDebugAidl             
:App Code:compileDebugRenderscript             
:App Code:generateDebugBuildConfig             
:App Code:mergeDebugAssets             
:App Code:mergeDebugResources             
:App Code:processDebugManifest             
:App Code:processDebugResources FAILED      

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':App Code:processDebugResources'.
> Failed to run command:
        /Applications/Android Studio.app/sdk/build-tools/android-4.2.2/aapt package -f --no-crunch -I /Applications/Android Studio.app/sdk/platforms/android-17/android.jar -M /Users/oslinux/Documents/workspace/Appme-android/latest-update/App Code/build/manifests/debug/AndroidManifest.xml -S /Users/oslinux/Documents/workspace/Appme-android/latest-update/App Code/build/res/all/debug -A /Users/oslinux/Documents/workspace/Appme-android/latest-update/App Code/build/assets/debug -m -J /Users/oslinux/Documents/workspace/Appme-android/latest-update/App Code/build/source/r/debug -F /Users/oslinux/Documents/workspace/Appme-android/latest-update/App Code/build/libs/App Code-debug.ap_ --debug-mode --custom-package com.floaty.App --output-text-symbols /Users/oslinux/Documents/workspace/Appme-android/latest-update/App Code/build/symbols/debug
  Error Code:
        139


* Try:    
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 20.268 secs
host-005:App Code oslinux$ 

使用 --stacktrace 执行 Gradle 这是输出异常:

 * Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':VMS Code:processDebugResources'.
        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)
        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:33)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: com.android.ide.common.internal.LoggedErrorException: Failed to run command:
        /Applications/Android Studio.app/sdk/build-tools/android-4.2.2/aapt package -f --no-crunch -I /Applications/Android Studio.app/sdk/platforms/android-17/android.jar -M /Users/oslinux/Documents/workspace/vmsme-android/latest-update/VMS Code/build/manifests/debug/AndroidManifest.xml -S /Users/oslinux/Documents/workspace/vmsme-android/latest-update/VMS Code/build/res/all/debug -A /Users/oslinux/Documents/workspace/vmsme-android/latest-update/VMS Code/build/assets/debug -m -J /Users/oslinux/Documents/workspace/vmsme-android/latest-update/VMS Code/build/source/r/debug -F /Users/oslinux/Documents/workspace/vmsme-android/latest-update/VMS Code/build/libs/VMS Code-debug.ap_ --debug-mode --custom-package com.floaty.vms --output-text-symbols /Users/oslinux/Documents/workspace/vmsme-android/latest-update/VMS Code/build/symbols/debug
Error Code:
        139

        at com.android.ide.common.internal.CommandLineRunner.runCmdLine(CommandLineRunner.java:98)
        at com.android.ide.common.internal.CommandLineRunner.runCmdLine(CommandLineRunner.java:69)
        at com.android.builder.AndroidBuilder.processResources(AndroidBuilder.java:617)
        at com.android.builder.AndroidBuilder$processResources.call(Unknown Source)
        at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.groovy:91)
        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.ProcessAndroidResources_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)
        ... 70 more


BUILD FAILED

Total time: 14.276 secs
host-005:VMS Code oslinux$ 

我使用的是 Android Studio 0.2.13

我该如何解决这些问题?

编辑:这是我的 build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
        classpath 'com.newrelic.agent.android:agent-gradle-plugin:2.397.0'
    }
}

repositories {
    mavenCentral()
    maven {
        url 'http://www.bugsense.com/gradle/'
    }
}

apply plugin: 'android'
apply plugin: 'newrelic'

dependencies {
    compile 'com.newrelic.agent.android:android-agent:2.397'
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.android.support:appcompat-v7:18.0.+'
    compile 'com.intellij:annotations:12.+'
    compile 'com.bugsense.trace:bugsense:3.5'
    compile 'com.google.android.gms:play-services:3.1.+'
    compile 'net.hockeyapp.android:HockeySDK:3.0.+'
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':libraries:facebook')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 17
    }

    signingConfigs {
        release {
            storeFile file("/Users/oslinux/Documents/Chiavi Android/Sv01")
            storePassword "******"
            keyAlias "sv01"
            keyPassword "******"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            debuggable true
            jniDebugBuild false
        }
    }
}

更新

我尝试手动执行 aapt,从 gradle 吐出的错误消息中获取完整命令,但失败:

Segmentation fault: 11

但有时它会正确运行并创建包。

除了“Segmentation fault: 11”之外没有显示错误。

这是我要执行的命令:

"/Applications/Android Studio.app/sdk/build-tools/android-4.2.2/aapt" 
package -vv -f -a --no-crunch 
-I "/Applications/Android Studio.app/sdk/platforms/android-17/android.jar" 
-M "/Users/oslinux/Documents/workspace/app-android/latest-update/App Code/build/manifests/release/AndroidManifest.xml" 
-S "/Users/oslinux/Documents/workspace/app-android/latest-update/App Code/build/res/all/release" 
-A "/Users/oslinux/Documents/workspace/app-android/latest-update/App Code/build/assets/release" 
-m -J "/Users/oslinux/Documents/workspace/app-android/latest-update/App Code/build/source/r/release" 
-F "/Users/oslinux/Documents/workspace/app-android/latest-update/App Code/build/libs/App Code-release.ap_" 
--debug-mode --custom-package com.appandroid.app 
--output-text-symbols "/Users/oslinux/Documents/workspace/app-android/latest-update/App Code/build/symbols/release"

最终更新

似乎我终于解决了这个问题,清理了我的资源,删除了一些未使用的 XML 和未使用的主题。这显然不能回答这个我认为是共同感兴趣的问题。

浏览网页时,我发现 AAPT 因 SegFault11 而失败,而且通常它没有提供任何有关可能由以下原因引起的真正错误的信息:

  • +样式中的id
  • 重复的资源/库
  • 未知,和我的一样

所以这将是有用的: 1. 想办法找出这个错误的真正原因 2. 等待返回一些错误消息的 AAPT 更新 3. 列出可能的常见原因。

【问题讨论】:

  • 显示你的build.gradle
  • @Luca:有趣的发现!如果您将最终更新添加为答案以使其对其他人更可见,那就太好了。我也会对您找到的链接感兴趣:)
  • 刚刚这样做,我正在尝试再次找到那些链接;)
  • 同样的问题,同样的解决方案。我最初是从一个操作栏开始这个项目的,然后意识到使用抽屉进行主导航可能更合适。我保留了原始文件(当然,将它们全部从“主”重命名)以移植逻辑,以防万一我想恢复使用选项卡。将所有内容保留在项目中会导致您列出的相同错误,删除类、活动和布局为我解决了问题。

标签: android gradle android-studio aapt


【解决方案1】:

我在这里复制我的最终更新作为答案。

似乎我终于解决了这个问题,清理了我的资源,删除了一些未使用的 XML 和未使用的主题。这显然不能回答这个我认为是共同感兴趣的问题。

浏览网页时,我发现 AAPT 因 SegFault11 而失败,而且通常它没有提供任何有关可能由以下原因引起的真正错误的信息:

作为Dale Cooper suggested,您也可以尝试运行 Lint 并查看它是否发现任何有关资源的警告。

我正在尝试查找遇到这些其他原因的用户的链接(距离最初的问题已经有一段时间了),当我找到他们时我会更新这个答案。

【讨论】:

  • 天哪,我有同样的错误,我快死在这里了!不知道是什么问题!!我已经尝试了您列表中的所有内容:/
  • 您的帖子让我走上了摆脱这个困境的正确轨道。我刚刚找到了这个可怕错误的来源(在我的版本中)。它在为我生成的 menu.xml 文件中(我不需要)。 app:showAsEntry 属性没有限制。哇,真是浪费时间。谢谢!
  • 谢谢布兰登!检查“菜单”文件中不存在的资源对我有用!
  • 你救了我的命!!我的错误是样式中的@+id。谢谢!! :)
【解决方案2】:

我刚刚遇到了同样的问题,但在processDebugResources 步骤上。几个小时后,我开始尝试运行aapt (/build-tools/[version]/aapt) 的不同版本,结果发现它们给出了一大堆不同的错误消息。我最初使用的是19.0.1,它只给了我Segmentation fault,但是当我尝试18.1.1时,我突然被指向menu.xml中的一条线,它有一个资源不匹配。问题原来是我已经删除了默认的@string/action_settings,因为我以为我没有使用它。

结论,尝试不同版本的aapt 可能会帮助您找到资源不匹配的问题。

【讨论】:

  • +1,这解决了我的问题。在processDebugResources 步骤中,我也收到了来自aapt 的退出代码138 的段错误。我下载了 18.1.1 构建工具并手动运行了它的 aapt 版本(否则使用与 Gradle 的错误日志中给出的相同的调用)。它以有用的错误消息而不是段错误作为响应。
【解决方案3】:

是的,我只是在为类似的问题而苦苦挣扎。原来我在 menu.xml 文件中有一些未完成的代码:

   <item android:id="@+id/action_search"
    android:title="@string/action_search"
    android:icon="@drawable/"
    app:showAsAction="ifRoom|collapseActionView"
    />

正是这条线缺少可绘制参考:

 android:icon="@drawable/"

我通过运行 Lint (Analyze -> Inspect code) 找到了它,它在 Android -> Android Resource Validation 中为Cannot resolve symbol '@drawable/'

【讨论】:

    【解决方案4】:

    我遇到了同样的问题,而且很难找到它。

    我想分享我为定位和解决这个问题所做的步骤。

    我的 gradle 输出如下所示:

    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':libs:base:processDebugResources'.
    > com.android.ide.common.internal.LoggedErrorException: Failed to run command:
        /opt/android-sdk/build-tools/18.1.1/aapt package -f --no-crunch -I /opt/android-sdk/platforms/android-19/android.jar -M /home/m039/WorkProjects/libs/base/build/bundles/debug/AndroidManifest.xml -S /home/m039/WorkProjects/libs/base/build/res/all/debug -A /home/m039/WorkProjects/libs/base/build/bundles/debug/assets -m -J /home/m039/WorkProjects/libs/base/build/source/r/debug -F /home/m039/WorkProjects/libs/base/build/libs/base-debug.ap_ --debug-mode --non-constant-id --output-text-symbols /home/m039/WorkProjects/libs/base/build/bundles/debug
      Error Code:
        139
    

    首先我切换到 18.1.1 版本,并没有太大帮助。然后我尝试添加-v 标志并运行此命令:

    /opt/android-sdk/build-tools/18.1.1/aapt package -f --no-crunch -I /opt/android-sdk/platforms/android-19/android.jar -M /home/m039/WorkProjects/libs/base/build/bundles/debug/AndroidManifest.xml -S /home/m039/WorkProjects/libs/base/build/res/all/debug -A /home/m039/WorkProjects/libs/base/build/bundles/debug/assets -m -J /home/m039/WorkProjects/libs/base/build/source/r/debug -F /home/m039/WorkProjects/libs/base/build/libs/base-debug.ap_ --debug-mode --non-constant-id --output-text-symbols /home/m039/WorkProjects/libs/base/build/bundles/debug -v
    

    它有一点帮助,但没有给出有关问题的线索。然后我尝试了strace,它很有帮助:

    strace -s 100 /opt/android-sdk/build-tools/18.1.1/aapt package -f --no-crunch -I /opt/android-sdk/platforms/android-19/android.jar -M /home/m039/WorkProjects/libs/base/build/bundles/debug/AndroidManifest.xml -S /home/m039/WorkProjects/libs/base/build/res/all/debug -A /home/m039/WorkProjects/libs/base/build/bundles/debug/assets -m -J /home/m039/WorkProjects/libs/base/build/source/r/debug -F /home/m039/WorkProjects/libs/base/build/libs/base-debug.ap_ --debug-mode --non-constant-id --output-text-symbols /home/m039/WorkProjects/libs/base/build/bundles/debug 
    

    在上一个命令的输出中,我发现了这一行:

    open("/home/m039/WorkProjects/libs/base/build/res/all/debug/values/values.xml", O_RDONLY|O_LARGEFILE) = 5
    

    values.xml文件中我找到了所有资源,然后我开始从文件末尾逐个标签删除并执行上面的aapt命令,直到找到问题为止。

    我的问题出在 id 资源中。

    【讨论】:

      【解决方案5】:

      我在导入 eclipse 项目后遇到了这个问题。 问题来自我这边。在 Eclipse 中,我在 drawable 中放置了一个 png 图像,它实际上是一个 jpg 图像(我只是将扩展名从 .jpg 重命名为 .png)。 它在 Eclipse 中运行良好,但在导入 Android Studio 时失败。

      任务“:app:mergeDebugResources”执行失败。 Cruncher Cruncher d.png 失败

      我刚刚删除了 d.png 并添加了一个原始 png 文件。 成功了!

      【讨论】:

        【解决方案6】:

        如果你已经从 Eclipse 导入了你的项目,那么在 Android Studio 上删除资源 menu/main.xml 并确保你没有任何无效的字符串资源。

        由于某种原因,gradle 无法验证 menu/main.xml 文件。

        【讨论】:

        • 是的,我也一样! menu/main.xml 文件的问题
        【解决方案7】:

        我在菜单 xml 中删除了一个意外添加的标题:

        删除这个:

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

        留下这个:

        <menu xmlns:android="http://schemas.android.com/apk/res/android" >
        

        【讨论】:

          【解决方案8】:

          因此,由于我遇到了类似的问题,我想发布我的解决方案: 出现此错误后:

          failed to capture snapshot of output files for task…
          

          我清理了我的项目,它又可以工作了。为什么我不知道但它有效。 :)

          【讨论】:

            【解决方案9】:

            我遇到了一个在清单中声明的​​ Activity,其标题已从字符串文件中删除。

            这个错误可以是任何与资源相关的东西。找出错误的最佳方法是:

            1. 保存您的代码。
            2. 返回到最后一次有效的提交。
            3. 一一添加资源更改,直到再次失败。

            【讨论】:

              【解决方案10】:

              我遇到了类似的问题。我想这通常发生在 xml 中有一些不完整的标签或某些东西或某些格式错误的东西时。在我的情况下,主题是问题。在我的 xml 文件中 android studio 的设计视图中..我选择了一个新主题...这样它解决了问题...希望这对所有人都有帮助...

              【讨论】:

                【解决方案11】:

                我遇到了同样的问题,问题在于我的构建目录,目前 Android Studio 支持少于 100 个字符的目录路径。

                找到了解决方案:

                在根build.gradle

                allprojects {
                    buildDir = "/path/to/build/${rootProject.name}/${project.name}"
                }
                

                和文档https://gradle.org/docs/current/userguide/writing_build_scripts.html

                【讨论】:

                • 我们在构建项目时收到“FAILURE: Build failed with an exception.i > Packing build cache entry”。这个答案对我们有帮助吗?
                • 查看您的错误消息表明它与问题无关,但是为了解决此问题,请尝试删除“$HOME/.gradle”
                【解决方案12】:

                在相应项目的终端中运行此命令。

                ./gradlew assembleDebug
                

                这将提供有关错误的信息。(逐行验证)

                在我的情况下,错误与我包含在我的 gradle 文件中的 JAR 文件有关。最后删除 jar 文件解决了问题。

                【讨论】:

                  猜你喜欢
                  • 2017-08-13
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-03-28
                  • 2018-05-24
                  • 2016-03-24
                  • 2014-09-23
                  • 1970-01-01
                  相关资源
                  最近更新 更多