cordova android build failure:processArmv7DebugResources

时间:2016-03-14 15:12:55

标签: android cordova

我正在使用cordova构建混合应用程序。该设置已经过简单的应用测试。 Android和iOS版本都可以正常工作。

切换到更复杂的应用程序后,发生以下错误。我用谷歌搜索并找到了一些建议的解决方案,但没有一个有效。

我是新手,所以任何建议都表示赞赏。

:processArmv7DebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processArmv7DebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/local/Cellar/android-sdk/24.4.1_1/build-tools/23.0.2/aapt'' finished with non-zero exit value 1

* 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: 28.659 secs
ERROR building one of the platforms: Error code 1 for command: /Users/wliang/work/hzoom/platforms/android/gradlew with args: cdvBuildDebug,-b,/Users/wliang/work/hzoom/platforms/android/build.gradle,-Dorg.gradle.daemon=true,-Pandroid.useDeprecatedNdk=true
You may not have the required environment or OS to build this project
Error: Error code 1 for command: /Users/wliang/work/hzoom/platforms/android/gradlew with args: cdvBuildDebug,-b,/Users/wliang/work/hzoom/platforms/android/build.gradle,-Dorg.gradle.daemon=true,-Pandroid.useDeprecatedNdk=true

7 个答案:

答案 0 :(得分:4)

在我的情况下,我发现了以下命令的错误:

cordova build android -- --gradleArg=--info

我找到了:

Executing task ':processArmv7DebugResources' (up-to-date check took 0.009 secs) due to:
  Input file /Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android/build/intermediates/assets/armv7/debug/www/libs/long/dist/long.min.js.gz has been added.
Starting process 'command '/Users/astaniscia/Library/Android/sdk/build-tools/24.0.2/aapt''. Working directory: /Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android Command: /Users/astaniscia/Library/Android/sdk/build-tools/24.0.2/aapt package -f --no-crunch -I /Users/astaniscia/Library/Android/sdk/platforms/android-23/android.jar -M /Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android/build/intermediates/manifests/full/armv7/debug/AndroidManifest.xml -S /Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android/build/intermediates/res/merged/armv7/debug -A /Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android/build/intermediates/assets/armv7/debug -m -J /Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android/build/generated/source/r/armv7/debug -F /Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android/build/intermediates/res/resources-armv7-debug.ap_ --debug-mode --custom-package com.navionics.poc -0 apk --output-text-symbols /Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android/build/intermediates/symbols/armv7/debug --no-version-vectors
Successfully started process 'command '/Users/astaniscia/Library/Android/sdk/build-tools/24.0.2/aapt''
      Unable to add '/Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android/build/intermediates/assets/armv7/debug/www/libs/long/dist/long.min.js.gz': file already in archive (try '-u'?)
ERROR: unable to process assets while packaging '/Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android/build/intermediates/res/resources-armv7-debug.ap_'
:processArmv7DebugResources FAILED
:processArmv7DebugResources (Thread[Daemon worker Thread 16,5,main]) completed. Took 0.312 secs.

这条线帮了我

Unable to add '/Users/astaniscia/Workspace/webapp3.0/webapp3.0/platforms/android/build/intermediates/assets/armv7/debug/www/libs/long/dist/long.min.js.gz': file already in archive (try '-u'?)

对我来说解决问题...我删除了gzip,现在一切正常!

答案 1 :(得分:1)

我遇到了同样的问题,这就是我发现的问题。

bower components文件夹 - 通常使用cordova默认为www/lib/ - 是我案件中的罪魁祸首。

我修改了其中一个bower组件,为此我必须首先在我正在更新的特定包中运行npm install。在这之后,我正在更新的特定组件中有一个node_modules文件夹,即www/lib/{name_of_component}/node_modules。基本上,这个特定的 node_modules文件夹仅用于与特定组件相关的构建工具,因此一旦完成更新并且想要构建整个应用程序,就不需要它。特定组件node_modules内的某些模块可能与项目node_modules冲突,即{your_app}/node_modules - 这可能会导致问题。就我而言,冲突与semver模块有关。

所以在我的情况下,解决方案是删除特定的node_modules文件夹。之后我可以毫无问题地构建我的应用程序。

希望这会有所帮助。

答案 2 :(得分:1)

这是一个老问题,但我最近遇到了同样的问题,并希望我的经验可能在将来帮助其他人。

经过一整天的环顾四周,我意识到这与我的插件有关。由于某种原因,package.json中有一个未使用的依赖项,不允许它构建。

在我的情况下,它是Firebase,从package.json和插件文件夹中删除后我跑了

cordova platform remove android

cordova platform add android

然后再次构建它,突然间它启动并运行了!

答案 3 :(得分:0)

出现此错误,因为项目文件夹中有一个或多个突出显示的文件名。在我的例子中,它是一个带有字符“ç”的图像。

此主题可以帮助自动重命名:https://superuser.com/questions/617517/remove-all-illegal-characters-from-all-filenames-in-a-given-folder

答案 4 :(得分:0)

对我来说,node_modules内的www文件夹导致了问题。

解决方法是将您的www复制到另一个文件夹并排除node_modules,您就可以了。

答案 5 :(得分:0)

答案 6 :(得分:0)

这可能是因为您使用人行横道

您可以尝试以下命令:

    sudo ionic cordova platform remove android 
    sudo rm -rf ./node_modules
    sudo npm install --unsafe-perm=true --allow-root
    sudo npm install --unsafe-perm node-sass
    sudo ionic cordova platform add android@6.4.0 
    sudo ionic cordova plugin add cordova-android-support-gradle-release
    sudo ionic cordova build android