我正在使用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
答案 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)
对我有用的东西:
cordova plugin add cordova-android-support-gradle-release
感谢lohith95
答案 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