web-dev-qa-db-fra.com

Android: impossible de convertir @ drawable/picture en drawable

Dans mon dossier extractible, j'ai quelques images et elles font toutes référence parfaite, mais lorsque j'essaie d'ajouter d'autres images exactement de la même taille dans le même dossier et que j'essaie de le référencer, une erreur est signalée "Echec de convertir @ drawable/picture en drawable ". J'ai essayé la même image avec un nom différent et cela ne cesse 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, les noms des images sont "jack", "abc", "question_mark", comme vous pouvez le constater. Les règles relatives aux caractères que vous pouvez utiliser sont strictement respectées, et le message d'erreur persiste. Tout conseil serait formidable sur la façon de résoudre le problème, merci.

Impossible de convertir @ drawable/picture en drawable

112
Jack Trowbridge

Redémarrez Eclipse (malheureusement) et le problème disparaîtra.

200
Androliyah

Vérifiez également si le nom de la ressource contient des caractères non autorisés (pour moi, il s'agissait d'un "-" dans my-image)

144
perumer

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 alpha (non numérique).

55
GregM

_ {file name doit contenir uniquement abc...xyz012...789_. dans le dossier Ressources.

par exemple: 

my-image.png est False!
MyImage.png est False!
mon image.png est False!
...
...

my-xml.xml est False!
MyXml.xml est False!
my xml.xml est False!
...
...

28
Mahdi-bagvand

En effet, le nom de votre image contient le symbole "-". les seuls caractères autorisés sont [a-zA-Z0-9_.]

Merci

25
Kiba

J'ai le même problème sur Android Studio. Inutile de redémarrer l'EDI, il suffit de fermer et de rouvrir le projet pour résoudre le problème (Assurez-vous que les src sont correctement saisis).

5
Yen NQ

Dans Android Studio, votre nom de fichier de ressources (images) ne peut pas commencer par NUMERIC et ne peut contenir aucun caractère BIG. Pour résoudre votre problème, faites comme Aliyah. Il suffit de redémarrer votre IDE. Cela a résolu mon problème aussi.

3
Sabri Meviş

Pour Android Studio, j'ai eu le 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 risque de mal tourner si vous essayez de renommer le refactor dans le projet, car Android essaiera de régénérer immédiatement R. Je ne sais pas exactement ce qui cause l'erreur car elle pointe vers une ligne de code apparemment aléatoire, qui dans mon cas était un commentaire.

Solution à cela: Supprimez de drawable, renommez en dehors du projet et relancez-les.

2
G_V

Simplifier le nom de votre fichier, semble être que tous les caractères spéciaux dans le nom de fichier le rendent hoquet. par exemple chaange "my-main-header.png" à "header1.png" ne sais pas pourquoi, mais cela fonctionne

2
raymond

Si vous avez les bonnes conventions de nommage, allez simplement dans Fichier -> Invalidate Caches/Restart ..

Et appuyez sur Invalidate Caches/Restart ..

Cela a aidé dans mon cas.

1
Amit Upadhyay

Cela peut être encore plus trivial que ce que les autres affiches ont suggéré: si vous avez plusieurs projets, assurez-vous de ne pas créer le fichier de présentation XML dans le mauvais projet.

Après la création, le fichier s'ouvrira automatiquement, ce qui risque de passer inaperçu et de supposer qu'il se trouve dans le bon projet. De toute évidence, toute référence à des objets ou autres ressources sera invalide.

Et oui, je suis aussi stupide. Je vais fermer tous les projets inutilisés à partir de maintenant :)

1
user1883611

Mon image s'appelait 21.jpg. Je l'ai renommé abc.jpg et cela a fonctionné. Donc, assurez-vous que le nom de votre image ne commence pas par un nombre. Cependant, toutes les réponses ci-dessus sont également acceptées.

1
Abhishek Kaushik

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/dans Eclipse -> choisir un fichier et appuyer sur F2 (pour moi, il est/drawable-mdpi/bush-landscape.jpg -> remplacé par bush.jpg)

  • Construire le projet (il affichera toujours une erreur)

  • changer l'image où vous l'avez utilisé (j'ai changé dans la disposition graphique. Pour moi, l'endroit était LinearLayout/Background/bush-landscape -> changé de "bush-landscape" en "bush")

  • Projet de construction

1
Alex

Dans mon cas, j'avais une image dans différents dossiers (avec le même nom) pour prendre en charge différentes tailles de ppp et périphériques. Toutes les images avaient le même nom sauf un. C'était une erreur de frappe et une fois que je l'ai renommé comme d'autres noms, cela a résolu mon problème.

0
Hamid