Dans mon dossier pouvant être dessiné, j'ai quelques images et elles font toutes référence à la perfection, mais lorsque j'essaie d'ajouter d'autres images avec exactement la même taille dans le même dossier, et que j'essaie de le référencer, une erreur "Échec de la conversion @ drawable / image dans un drawable " . J'ai essayé la même image avec un nom différent et cela continue de me donner cette erreur. Je l'ai également essayé dans une mise en page XML différente et la même chose. De plus, le nom de l'image a été "jack", "abc", "question_mark" comme vous pouvez le voir, il y a strictement dans les règles des caractères que vous pouvez utiliser, et le message d'erreur continue à apparaître. Tout conseil serait excellent sur la façon de résoudre le problème, merci.
Échec de la conversion de @ drawable / picture en dessinable
Réponses:
Redémarrez Eclipse (malheureusement) et le problème disparaîtra.
la source
Vérifiez également si le nom de la ressource contient des caractères illégaux (pour moi, c'était un "-" dans mon-image)
la source
Si le redémarrage d'Eclipse ne résout pas le problème, assurez-vous que le nom de l'image commence par un caractère alphabétique (non numérique).
la source
file name
doit contenir uniquementabc...xyz
012...789
_
.
dans le dossier Resources.par ex:
my-image.png est
False
!MyImage.png est
False
!mon image.png est
False
!...
...
my-xml.xml est
False
!MyXml.xml est
False
!mon xml.xml est
False
!...
...
la source
C'est parce que le nom de votre image contient le symbole "-". les seuls caractères autorisés sont [a-zA-Z0-9_.]
Merci
la source
J'ai le même problème sur Android Studio. Pas besoin de redémarrer l'IDE, il suffit de fermer et de rouvrir le projet et cela résoudra le problème. (Assurez-vous que les src sont correctement saisis).
la source
Dans Android Studio, le nom de votre fichier de ressources (images) ne peut pas commencer par
NUMERIC
et il ne peut contenir aucunBIG
caractère. Pour résoudre votre problème, faites comme Aliyah l'a dit. Redémarrez simplement votre IDE. Cela a aussi résolu mon problème.la source
Simplifiez le nom de votre fichier, il semble que tout caractère spécial dans le nom du fichier le fasse hocher. par exemple, modifiez "my-main-header.png" en "header1.png" je ne sais pas pourquoi, mais cela fonctionne
la source
R.java
et-
ne constituent pas un caractère valide pour les identificateurs.Pour Android Studio, j'ai eu ce même problème. Cela a été causé par l'exécution de Linux, ce qui signifie que les fichiers ne recevaient pas automatiquement une extension. En ajoutant manuellement .png à la fin des noms de fichiers, il pourrait reconnaître le type de fichier et se charger en conséquence.
Le studio Android peut créer une crise si vous essayez de refactoriser le changement de nom dans le projet, car Android essaiera de régénérer R immédiatement. Je ne sais pas exactement ce qui cause l'erreur car elle pointe vers une ligne de code apparemment aléatoire, ce qui dans mon cas était un commentaire.
Solution à cela: supprimez du dessinable, renommez en dehors du projet et relancez-les.
la source
Cela peut être encore plus trivial que ce que suggèrent les autres affiches: si vous avez plusieurs projets, assurez-vous de ne pas créer le fichier de mise en page XML dans le mauvais projet.
Après la création, le fichier s'ouvrira automatiquement, cela peut donc passer inaperçu et vous supposez qu'il se trouve dans le bon projet. De toute évidence, toute référence à des objets dessinables ou à d'autres ressources sera invalide.
Et oui, je suis si stupide. Je fermerai tous les projets inutilisés à partir de maintenant :)
la source
Je pense avoir trouvé un moyen de le faire fonctionner sans redémarrer Eclipse, ou sans fermer le projet (cela a fonctionné pour moi):
renommer le nom du fichier image sous res / in Eclipse -> choisissez le fichier et appuyez sur F2 (pour moi, il res / drawable-mdpi / bush-landscape.jpg -> changé en bush.jpg)
Construire le projet (il affichera toujours une erreur)
changer l'image où vous l'avez utilisé (j'ai changé dans la mise en page graphique. Pour moi, l'endroit était LinearLayout / Background / bush-landscape -> changé "bush-landscape" en "bush")
Construire un projet
la source
Mon nom d'image était 21.jpg. Je l'ai renommé abc.jpg et cela a fonctionné. Assurez-vous donc que le nom de votre image ne commence pas par un chiffre. Cependant, toutes les réponses ci-dessus sont également acceptées.
la source
Si vous avez les bonnes conventions de dénomination, allez simplement dans Fichier -> Invalidate Caches / Restart.
Et appuyez sur Invalidate Caches / Restart.
Cela a aidé dans mon cas.
la source
Dans mon cas, j'avais une image dans différents dossiers (avec le même nom) pour prendre en charge différentes dpi et tailles de périphérique. Toutes les images portaient le même nom sauf l'une d'elles. Il a été mal saisi et une fois que je l'ai renommé comme d'autres noms, cela a résolu mon problème.
la source