web-dev-qa-db-fra.com

échec de la construction ionique Android - Échec de l'exécution pour la tâche processDebugResources

J'utilise Mac Yosemite. Obtenir l'échec suivant sur l'exécution d'une compilation pour la plate-forme 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

La compilation fonctionne parfaitement pour IOS. J'ai installé le SDK Android et configuré les variables système Android_HOME et Android_SDK_ROOT. 

Aussi essayé de supprimer la plate-forme et l'ajouter à nouveau, d'avoir un dossier de plate-forme propre à l'aide de:

ionic platform remove Android
ionic platform add Android

Mais pas bon.

Versions de l'outil de génération Android SDK que j'ai installées - 19.1,20,21.1.2 et 22.0.1

Préférence AndroidManifest.xml: 

 <uses-sdk Android:minSdkVersion="16" Android:targetSdkVersion="22" />
22
Sairam Krish

Ce problème est résolu en ajoutant un espace de noms xml pour phonegap (xmlns: gap = "http://phonegap.com/ns/1.0") à config.xml.

Après avoir ajouté:

<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">

J'espère que cela aidera quelqu'un confronté à un problème similaire.

23
Sairam Krish

Pour obtenir plus d'informations afin de déboguer ceci, allez dans le dossier ./platforms/Android/ et exécutez:

Utilisateurs Mac:

gradlew --info build clean

Utilisateurs de Linux (merci Pierre):

./gradlew --info build clean

Utilisateurs Windows:

gradlew.bat --info build clean

Cela vous donne beaucoup plus de détails. 

Mon problème a été résolu de cette façon. J'ai trouvé des fichiers mal placés dans le dossier du projet avec des espaces dans leurs noms.

34
CapeCoder

du forum ionique

C'était à cause de l'erreur de service "ressource ionique".

où exécutez la commande "ressource ionique", j’ai examiné et vérifié le /resources/Android/dossier splash, j’ai cliqué et ouvert toutes ces png fichiers, j’ai trouvé des photos brisées (qui en représentent la moitié).

Je remplace donc ces fichiers png cassés par le fichier png "normal" (du même dossier), puis lance la commande "ionic build" (l'erreur est "."). disparu.

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

3
bleuscyther

Mais dans mon cas, il a résolu en supprimant la ligne ci-dessous

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

depuis mon fichier config.xml

2
newari

Si vous développez avec Windows, c'est peut-être à cause du "nom du chemin". Windows n'autorise pas le chemin d'accès de plus de 260 caractères. Donc, le raccourcir peut le résoudre.

1
Alperzkn

J'ai un problème similaire ... Pour trouver une solution de contournement, j'ai créé un nouveau projet vierge. La compilation et l’émulation étaient bonnes . J'ai découvert qu’il y avait un problème dans mon dossier www . Après plusieurs tests, une de mes photos a reçu le nom suivant: 'Clément.png ". Supprimer l'accent pour obtenir 'Clement.png' vient de résoudre mon problème .... Beaucoup de douleur.

1
C0ZEN

Oui, la création a réussi après la suppression de la ligne ci-dessous

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

de config.xml

0
lakshman_dev

J'utilise Vue.js et Webpack pour générer des fichiers de production. Le fichier de sortie contient des fichiers * .gz, ce qui posait problème si mis dans le répertoire www/de Cordova.

0
Kaspi

Je ne sais pas pourquoi, mais ma plateforme Android ne fonctionnait pas. Résolu le problème en faisant: 

ionic platform rm Android
ionic platform add Android
0
SylvainAr

Comme d’autres, mon erreur a été causée par de terribles fichiers cachés qui s’emballaient.

Dans mon cas, c'était le "Icon?" Spécial fichier créé par OSX dans un dossier comportant une icône personnalisée (telle que Google Drive, Dropbox, etc.). Le fichier porte en fait le nom "Icon\r" et j’estime que Java/gradle est en train de trébucher sur le "\ r" (ou tout caractère inattendu et non échappé).

La solution était de détruire tous les parasites "Icon?" fichiers de mon répertoire de projet:

# 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
0
Marcel Chastain

Pour moi, il s’est avéré que la longueur du nom de certaines des images que j’avais dans le dossier des actifs était longue.

Sois juste conscient. Après avoir supprimé ces images, j'obtenais toujours la même erreur. La raison en est que les images ont persisté dans le dossier www. Supprimé ce dossier et travaillé!

0
m.spyratos

J'ai ce problème sur Arch Linux sur Cordova clean. Pour résoudre ce problème, j'ai suivi la réponse de @CapeCorder et constaté qu'il manquait la bibliothèque zlib .

Sudo pacman -S lib32-zlib

Et fonctionne bien;)

0
Darkowic

Dans mon cas, il s'agissait du plugin Pushwoosh. 

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

Nous n'avons pas besoin de supprimer le plugin. Il suffit de définir la version du plugin qui est utilisée la dernière fois. Ceci a fonctionné pour moi.

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