Your system information:
Cordova CLI: 6.5.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
OS: macOS Sierra
Node Version: v6.9.5
Xcode version: Xcode 8.2.1 Build version 8C1002
J'essaie d'utiliser ionic platform add Android
pour créer un projet Android, mais il se plaint toujours que resources/Android/icon/drawable-hdpi-icon.png
n'existe pas. En fait, ce n'est pas le cas - aucune de ces ressources n'existe. Ils peuvent être créés par ionic resources
.
Cependant si j'essaie d'exécuter ionic resources
sans la plate-forme, on me dit d'ajouter la plate-forme en premier. Cela me conduit essentiellement à faire quelque chose comme:
ionic platform add Android
ionic resources
ionic platform rm Android
ionic platform add Android
Ensuite cela fonctionne correctement. Puis-je faire quelque chose pour m'assurer que les ressources sont correctement construites ou référencées avant d'ajouter la plate-forme?
Cela a réellement à voir avec ma configuration. Si vous ne spécifiez pas la plate-forme dans votre configuration, platform add
en créera une pour vous. Cela inclut automatiquement des chemins vers des ressources qui peuvent ne pas être là.
Mettez à jour votre fichier config.xml pour inclure la plate-forme. même s'il est vide:
<platform name="Android"/>
<platform name="ios"/>
Ensuite, platform add
ne mettra pas à jour la plate-forme dans la configuration et ne cherchera pas les ressources qui pourraient ne pas être là. Vous devriez quand même faire ionic resources
pour les générer après coup, cependant.
Pour moi, dans config.xml, path avait une barre oblique inversée dans la balise, il a changé de:
<icon src="resources\Android\icon\drawable-xhdpi-icon.png" />
à:
<icon src="resources/Android/icon/drawable-xhdpi-icon.png" />
Dans mon cas, c'était un problème de chemin config.xml
.
Avant j'avais ceci:
<icon density="hdpi" src="res/Android/ic-hdpi.png" />
mais dans ma structure de dossiers, j'ai un dossier supplémentaire appelé icon , je modifie donc tous les fichiers de chemin .png
en:
<icon density="hdpi" src="res/icon/Android/ic-hdpi.png" />
et cela a fonctionné pour moi
Pour moi, ce problème était dû à la ligne en dessous du fichier config.xml:
'<preference name="orientation" value="portrait" />'
En fait, lorsque vous essayez d’ajouter une plate-forme à l’aide de «plate-forme ionic cordova add Android/ios», il ajoute la plate-forme correspondante et génère les ressources correspondantes («icon.png» et «splash.png»). Avec l'orientation portrait, seules les ressources pertinentes seront ajoutées à cette orientation (c.-à-d. Que les ressources ioniques cordova n'ajoutent pas les images de paysage si l'orientation est définie sur portrait) et échoue avec "UnhandledPromiseRejectionWarning: Error: Le chemin source n'existe pas: resources/Android/icon/drawable-hdpi-icon.png "erreur.
Par conséquent, veuillez vérifier si votre config.xml a une préférence pour le mode portrait/paysage.
Please remove any preference with portrait/landscape from your config.xml file before adding platform.
Vérifiez le nom de l'écran de démarrage et l'icône de l'application. Je me suis trompé dans le nom des fichiers. Dans mon cas, l'erreur était due aux noms de fichiers invalides. Je viens de copier et coller les actifs, à savoir AppName_splash.png et icon-512.png, alors que cela aurait dû être "splash.png" et "icon.png".
peut être lors de la création des ressources d'applications ioniques non ajoutées correctement simplement vous pouvez faire une chose installer une autre application en utilisant la commande suivante.
ionic start appname blank
copiez ensuite le dossier Icônes Android et collez-le dans votre dossier actuel. Cela fonctionnera correctement. L'image manquante dans votre projet est 72 * 72 image.Veuillez vérifier les ressources une fois.