Подтвердить что ты не робот

Ионный сборщик андроида - Выполнение не выполнено для задачи processDebugResources

Я использую 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. Я установил SDK Android и настроил системные переменные 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" />
4b9b3361

Ответ 1

Эта проблема решается путем добавления пространства имен 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">

Надеюсь, что это поможет кому-то столкнуться с подобной проблемой.

Ответ 2

Чтобы получить дополнительную информацию для отладки, зайдите в папку ./platforms/android/ и запустите:

Пользователи Mac:

gradlew --info build clean

Пользователи Linux (спасибо Пьеру):

./gradlew --info build clean

Пользователи Windows:

gradlew.bat --info build clean

Это дает вам гораздо больше деталей.

Моя проблема была решена таким образом, найдены некоторые файлы, которые неправильно помещены в папку проекта с пробелами в именах файлов.

Ответ 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 char. Так что сделать его короче можно решить.

Ответ 7

У меня проблема с Arch Linux на чистом Cordova. Чтобы отладить это, я последовал за ответом @CapeCorder и обнаружил, что в этой библиотеке отсутствует библиотека zlib. Просто установите его

sudo pacman -S lib32-zlib

И хорошо работает;)

Ответ 8

Да, выполните успешную работу после удаления строки ниже.

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

из config.xml

Ответ 9

Как и некоторые другие, моя ошибка была вызвана некоторыми ужасными скрытыми файлами, которые отключили gradle вверх.

В моем случае это была специальная "Икона"? файл, который OSX создает внутри любой папки, у которой есть пользовательский значок (например, Google Диск, 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, что было проблемой, если положить в Кордову 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