Na minha pasta de desenho, tenho algumas imagens e todas apresentam referências perfeitas, mas quando tento adicionar mais imagens com exatamente o mesmo tamanho na mesma pasta e tento fazer referência a elas, é sinalizado um erro "Falha ao converter @ drawable / picture em drawable " . Eu tentei a mesma imagem com um nome diferente e continua me dando esse erro. Eu também tentei em um layout XML diferente e a mesma coisa. Além disso, o nome da imagem foi "jack", "abc", "question_mark", como você pode ver, há estritamente nas regras de quais caracteres você pode usar, e ainda assim a mensagem de erro continua aparecendo. Qualquer conselho seria ótimo sobre como resolver o problema, obrigado.
Falha ao converter @ drawable / picture em drawable
Respostas:
Reinicie o Eclipse (infelizmente) e o problema irá embora.
fonte
Verifique também se o nome do recurso contém algum caractere ilegal (para mim era um "-" na minha imagem)
fonte
Se reiniciar o Eclipse não corrigir o problema, certifique-se de que o nome da imagem comece com um caractere alfa (não numérico).
fonte
file name
deve conter apenasabc...xyz
012...789
_
.
na pasta Recursos.por ex:
my-image.png é
False
!MyImage.png é
False
!meu image.png é
False
!...
...
my-xml.xml é
False
!MyXml.xml é
False
!meu xml.xml é
False
!...
...
fonte
Isso ocorre porque o nome da imagem contém o símbolo "-". os únicos caracteres permitidos são [a-zA-Z0-9_.]
obrigado
fonte
Tenho o mesmo problema no Android Studio. Não há necessidade de reiniciar o IDE, basta fechar e reabrir o projeto e isso resolverá o problema. (Certifique-se de que o src é uma entrada correta).
fonte
No Android Studio, o nome do arquivo de recurso (imagens) não pode começar com
NUMERIC
e não pode conter nenhumBIG
caractere. Para resolver seu problema, faça o que Aliyah disse. Apenas reinicie seu IDE. Isso também resolveu meu problema.fonte
Simplifique o nome do seu arquivo, parece que qualquer caractere especial no nome do arquivo causa soluços. por exemplo chaange "my-main-header.png" para "header1.png" não tenho certeza por que, mas funciona
fonte
R.java
e-
não são caracteres válidos para identificadores.Para o Android Studio, tive o mesmo problema. Foi causado pela execução do Linux, o que significa que os arquivos não receberam automaticamente uma extensão. Ao adicionar manualmente .png ao final dos nomes de arquivo, ele poderia reconhecer o tipo de arquivo e carregar de acordo.
O Android Studio pode ter um ataque sibilante se você tentar refatorar a renomeação dentro do projeto, porque o Android tentará regenerar R imediatamente. Não sei exatamente o que causa o erro, pois ele aponta para alguma linha de código aparentemente aleatória, que no meu caso era um comentário.
Solução para isso: Exclua do drawable, renomeie fora do projeto e jogue-os novamente.
fonte
Pode ser ainda mais trivial do que o que os outros participantes sugeriram: se você tiver vários projetos, certifique-se de não ter criado o arquivo de layout xml no projeto errado.
Após a criação, o arquivo será aberto automaticamente, então isso pode passar despercebido e você assume que está no projeto correto. Obviamente, quaisquer referências a drawables ou outros recursos serão inválidas.
E sim, eu sou tão estúpido. Vou fechar todos os projetos não utilizados de agora em diante :)
fonte
Acho que encontrei uma maneira de fazer isso funcionar sem reiniciar o Eclipse ou sem fechar o projeto (funcionou para mim):
renomear o nome do arquivo de imagem em res / no Eclipse -> escolha o arquivo e pressione F2 (para mim, res / drawable-mdpi / bush-landscape.jpg -> alterado para bush.jpg)
Construir projeto (ainda mostrará erro)
mude a imagem onde você a usou (eu mudei no Layout gráfico. Para mim, o lugar era LinearLayout / Background / bush-landscape -> alterei "bush-landscape" para "bush")
Construir Projeto
fonte
Meu nome de imagem era 21.jpg. Eu o renomei como abc.jpg e funcionou. Portanto, certifique-se de que o nome da imagem não comece com um número. No entanto, todas as respostas acima também são aceitas.
fonte
Se você tiver as convenções de nomenclatura corretas, vá para Arquivo -> Invalidar Caches / Reiniciar ..
E pressione Invalidar Caches / Reiniciar ..
Isso ajudou no meu caso.
fonte
No meu caso, eu tinha uma imagem em pastas diferentes (com o mesmo nome) para suportar diferentes dpi e tamanhos de dispositivo. Todas as imagens tinham o mesmo nome, exceto uma delas. Ele foi digitado incorretamente e, depois que o renomei como outros nomes, ele resolveu meu problema.
fonte