Ионный сборщик андроида - Выполнение не выполнено для задачи 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" />
Ответы
Ответ 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