ionic build android failure - 任务 processDebugResources 执行失败

Posted

技术标签:

【中文标题】ionic build android failure - 任务 processDebugResources 执行失败【英文标题】:ionic build android failure - Execution failed for task processDebugResources 【发布时间】:2015-08-19 04:28:18 【问题描述】:

我正在使用 Mac Yosemite。在为 android 平台运行构建时出现以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugResources'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    /Users/sairamk/Development/android-sdk-macosx/build-tools/22.0.1/aapt package -f --no-crunch -I /Users/sairamk/Development/android-sdk-macosx/platforms/android-22/android.jar -M /Users/sairamk/projects/dummy_app/platforms/android/build/intermediates/manifests/full/debug/AndroidManifest.xml -S /Users/sairamk/projects/dummy_app/platforms/android/build/intermediates/res/debug -A /Users/sairamk/projects/dummy_app/platforms/android/build/intermediates/assets/debug -m -J /Users/sairamk/projects/dummy_app/platforms/android/build/generated/source/r/debug -F /Users/sairamk/projects/dummy_app/platforms/android/build/intermediates/res/resources-debug.ap_ --debug-mode --custom-package com.ionicframework.bcgsandbox553389 -0 apk --output-text-symbols /Users/sairamk/projects/dummy_app/platforms/android/build/intermediates/symbols/debug
  Error Code:
    1
  Output:
    /Users/sairamk/projects/dummy_app/platforms/android/build/intermediates/res/debug/xml/config.xml:59: error: Error parsing XML: unbound prefix

构建在 ios 上运行得非常好。我已经安装了 android SDK 并配置了 ANDROID_HOME 和 ANDROID_SDK_ROOT 系统变量。

还尝试删除平台并再次添加它,以使用干净的平台文件夹:

ionic platform remove android
ionic platform add android

但不好。

我已安装的 Android SDK 构建工具版本 - 19.1、20、21.1.2 和 22.0.1

AndroidManifest.xml 偏好:

 <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22" />

【问题讨论】:

我遇到了同样的问题,同样的操作系统 - 优胜美地,如果你已经解决了请告诉我 嘿家伙,我在 ubuntu 16.04 上也有同样的问题,只需安装“sudo apt install lib32stdc++6 lib32z1”,现在它可以工作了,抱歉我不知道如何在 osx 上安装这个库 【参考方案1】:

要获得更多调试信息,请进入./platforms/android/ 文件夹并运行:

Mac 用户:

gradlew --info build clean

Linux 用户(感谢 Pierre):

./gradlew --info build clean

Windows 用户:

gradlew.bat --info build clean

这为您提供了更多详细信息。

我的问题以这种方式解决,发现一些文件错误地放入项目文件夹中,文件名中有空格。

【讨论】:

Linux : ./gradlew --info build clean 谢谢你,顺便说一句,你拯救了我的一天 此命令显示明确的错误消息。在我的情况下,错误是“无效的文件名”,并且打印了文件路径。这应该是最好的答案。 从这里,我发现错误是因为没有安装一个库,尝试:sudo apt-get install zlib1g:i386【参考方案2】:

通过将 phonegap 的 xml 命名空间 (xmlns:gap="http://phonegap.com/ns/1.0") 添加到 config.xml 可以解决此问题

添加后:

<widget id="com.ionicframework.yourpackagename" 
version="0.0.1" 
xmlns="http://www.w3.org/ns/widgets" 
xmlns:cdv="http://cordova.apache.org/ns/1.0"
xmlns:gap="http://phonegap.com/ns/1.0">

希望它可以帮助面临类似问题的人。

【讨论】:

赛拉姆,你太棒了!万分感谢 !你是怎么发现的! 非常感谢。你让我摆脱困境。愿你生活安康。 也帮助了我!谢谢! 在哪里添加这个配置。【参考方案3】:

来自离子论坛

这是因为“离子资源”服务错误。

在哪里运行“离子资源”命令,我查看并检查了 /resources/android/splash 文件夹,我点击并打开了所有这些 png 文件,我发现一些图片被破坏了(显示为一半)。

所以我用“正常”的 png 文件替换了这些损坏的 png 文件(在 同文件夹),然后运行“ionic build”命令,错误是 消失了。

https://forum.ionicframework.com/t/ionic-android-build-problem/29131/7?u=bleuscyther

【讨论】:

对我来说,解决方案是使用命令“离子资源”重新安装资源【参考方案4】:

但在我的情况下,它通过删除以下行来解决

    <gap:plugin name="nl.x-services.plugins.socialsharing" />

来自我的 config.xml 文件

【讨论】:

感谢您的帮助【参考方案5】:

我也有类似的问题。 为了找到解决方法,我创建了一个新的空白项目。 编译和仿真都很好。 我发现我的 www 文件夹中有问题。 经过一些倍数测试,我的一张照片得到了这个名字:“Clément.png”。 删除重音以获得“Clement.png”只是解决了我的问题.... 好痛。

【讨论】:

【参考方案6】:

如果您使用 Windows 进行开发,可能是因为“路径名”。 Windows 不允许路径名超过 260 个字符。所以缩短它可能会解决它。

【讨论】:

欢迎来到 ***!从问题的第一句话可以看出正在使用 Mac Yosemite。 你是对的,但我有同样的问题,我正在寻找解决方案。我是从谷歌来到这里的,所以如果有像我这样的人,也许会对他们有所帮助。这就是我写它的原因。【参考方案7】:

我在干净的 Cordova 上的 Arch Linux 上遇到了这个问题。为了调试这个,我按照@CapeCorder 的回答,发现这缺少zlib 库。 直接安装好了

sudo pacman -S lib32-zlib

而且效果很好;)

【讨论】:

【参考方案8】:

是的,删除以下行后构建成功

<gap:plugin name="nl.x-services.plugins.socialsharing" />

来自 config.xml

【讨论】:

【参考方案9】:

和其他一些人一样,我的错误是由一些可怕的隐藏文件引起的,这些文件正在绊倒 gradle。

就我而言,它是特殊的“图标?” OSX 在任何具有自定义图标(例如 Google Drive、Dropbox 等)的文件夹中创建的文件。该文件实际上被命名为“Icon\r”,我相信 java/gradle 会被“\r”(或任何意外的未转义字符)绊倒。

解决方案是摧毁所有虚假的“图标?”我的项目目录中的文件:

# note that this is the syntax for zsh. 
# If you're using bash test out the pattern first before including '-delete'
find ~/code/myproject/ -name Icon$'\r' -delete

【讨论】:

【参考方案10】:

我不知道为什么,但是我的 android 平台不工作。通过这样做解决了问题:

ionic platform rm android
ionic platform add android

【讨论】:

【参考方案11】:

对我来说,原来是我在资产文件夹中的一些图像的长名称长度。

请注意。删除这些图像后,我仍然遇到同样的错误。原因是图像保留在www 文件夹中。删除了那个文件夹并且工作了!

【讨论】:

【参考方案12】:

我使用 Vue.js 和 Webpack 生成生产文件,输出包含 *.gz 文件,如果放入 Cordova 的 www/ 就会出现问题。

【讨论】:

【参考方案13】:

就我而言,它是 pushwoosh 插件。

<gap:plugin name="pushwoosh-phonegap-plugin">

我们不需要删除插件。只需设置上次工作的插件版本即可。这对我有用。

<gap:plugin name="pushwoosh-phonegap-plugin"  spec="7.0.4" source="npm"/>

【讨论】:

【参考方案14】:

试试这个(为我工作):

    卸载当前的 JDK 安装最新的 JDK 运行:cordova build --debug android

【讨论】:

以上是关于ionic build android failure - 任务 processDebugResources 执行失败的主要内容,如果未能解决你的问题,请参考以下文章

ionic build --release android

ionic build android 报错分析

ionic cordova build android - 失败

ionic build Android错误记录未解决

Ionic Build Android - build.gradle文件不断添加重复的编译行并导致构建失败

Ionic 3 Android Failed Build Manifest 合并失败