Descobri que meu R.java nunca é atualizado, portanto não contém informações sobre meus novos recursos, então decidi excluí-lo e pensei que o Eclipse geraria um novo. Mas isso não aconteceu, e eu não tenho R.java agora. Como posso regenerar um?
Estou usando o Windows 7.
De um dos comentários: "Doing Project -> Clean é o que causou o problema para mim. A limpeza exclui R.java ... e por qualquer motivo, o plug-in não está regenerando o arquivo."
android
eclipse
r.java-file
Peter Mortensen
fonte
fonte
Respostas:
Este site sugere:
...e...
Este site sugere outra solução.
fonte
R.java
, em vez de regenerá-lo. stackoverflow.com/questions/13065425/…Achei isso acontecendo comigo com um layout quebrado e tudo explode. Relaxe, é como aquele velho erro quando você aprendeu a programar C, onde você esquece um ponto-e-vírgula e gera cem erros. Muitos entram em pânico, pressionam todos os botões e pioram as coisas.
Solução
R.
links não estejam quebrados. Corrija todos os erros em seus arquivos XML . Se algo nos ADKs estiver quebrado,R
não será regenerado.import android.R
em sua atividade, remova-o .Menu -> Project -> Build Project
.O que fazer se R não regenerar
Isso geralmente acontece quando você tem um arquivo XML quebrado.
/res/
pasta/layout/
e/values/
, especialmente se você alterou um deles recentementeAndroidManifest.xml
. Acho que frequentemente mudo uma string e esqueço de mudar o nome da stringAndroidManifest.xml
.Android SDK Build-tools
está instalado. Janela -> Gerenciador do Android SDK -> Ferramentas -> Ferramentas de compilação do Android SDKAndroid SDK Tools
, também atualize oAndroid SDK Platform-tools
eAndroid ADK Build-tools
. A construção falha silenciosamente se não corresponderem.fonte
Eu tive o mesmo problema. Quando fiz o check-out, descobri que o nome do recurso XML no layout não estava tendo a convenção de nomenclatura correta. Tinha algumas letras maiúsculas. Então, renomei para deixar todas as letras em minúsculas e a mágica funcionou.
fonte
Uma das razões pelas quais a R. R. pode desaparecer repentinamente é quando há erros nos arquivos XML. Por exemplo, quando você adiciona um arquivo XML com letras maiúsculas no nome como myCoolLayout.xml, o que não é permitido. Ou quando você tem referências que não apontam para arquivos existentes etc.
fonte
Se por algum motivo isso não funcionar: verifique se os arquivos layout.xml não contêm erros. O Eclipse parece ser um pouco problemático aqui: às vezes, não marca os erros no XML nem no explorador de pacotes. Nesse caso: Dê uma olhada na exibição "console" ou "problemas" depois de usar "limpo". Todos os erros devem ser exibidos lá. Corrija-os e refaça uma limpeza.
NOTA: NÃO é necessário corrigir os erros que você recebe devido a um arquivo R ausente! Basta corrigir os arquivos XML e outros erros do projeto e usar clean!
fonte
Conserto rápido:
O nome do pacote no manifesto precisa ser o mesmo da
/src
pasta, o/gen
pacote da pasta será reproduzido automaticamente.Observação detalhada:
Observe o nome do pacote na
/gen
pasta. No meu caso, era diferente do da/src
pasta.O pacote referenciado no manifesto era o da
/gen
pasta.Tentei adicionar um pacote com o nome da
/src
pasta à pasta para/gen
ver o que teria acontecido, mas isso não resolveu o problema. Continuei removendo o nome do pacote que não era igual ao nome do pacote da/src
pasta. Este pacote com o nome que não corresponde à/src
pasta foi recriado assim que eu o removi.Como a referência do pacote no manifesto correspondia àquela que estava sendo recriada sem sentido e que não correspondia ao pacote na
/src
pasta, isso solicitou a renomeaçãopackage = "oldPackage"
compackage = "srcFolderPackage"
.fonte
Eu tive o mesmo problema e finalmente encontrei o problema: no strings.xml, não mantive a linha
<string name="app_name">program-name</string>
presente por padrão ao criar um novo projeto Android. Eu pensei que era usado apenas para o programa HelloWord, que é o programa original.No entanto, o AndroidManifest.xml refere-se a esse valor, portanto:
=> Um erro de compilação;
=> o R.java não é atualizado;
=> ID não são reconhecidos ...
fonte
O Android adicionou a ferramenta de construção do SDK ADT 22 para o mecanismo de construção. Você só precisa seguir os seguintes passos.
Isso resolverá o problema.
fonte
Se o seu R.java não estiver sendo gerado, uma das soluções é excluir o arquivo de layout chamado "blabla.out.xml".
Após excluir este arquivo, tente limpar o projeto no menu Projeto -> Limpar .
fonte
Como generalização da resposta do Glaux, se houver algum erro no
res
diretório, o R.java poderá não ser gerado - mesmo se você limpar e reconstruir. Resolva esses erros primeiro.Como exemplo: quando você adiciona um arquivo de imagem como "myimage-2.jpg", o sistema considerará isso um erro, pois os nomes dos arquivos são limitados a valores alfanuméricos. Faça uma atualização no diretório 'res' depois de adicionar qualquer arquivo e observe a saída na janela do console para obter qualquer aviso de nome de arquivo.
fonte
Se o seu sistema operacional for Ubuntu, posso fornecer algumas sugestões:
Instale ou atualize o ia32-lib:
Verifique se você tem a permissão correta na pasta aapt:
Inicie o Eclipse:
Executar projeto -> Limpar no Eclipse
fonte
Você 100% tem um erro em um arquivo XML , mas a verificação XML não mostra o erro. Esta é a razão pela qual você precisa verificar seus arquivos XML primeiro!
fonte
É sempre útil dar uma olhada na guia Problems no Eclipse. No meu caso, estava recebendo uma mensagem de erro " android incapaz de resolver o destino 'android-8' " que impedia a geração do R.java. Então, corrigi o destino importado para o que estava usando no arquivo default.properties e, em seguida, executei uma limpeza em Projetos-> Limpo e pronto! R.java é gerado automaticamente! Espero que ajude!
fonte
Limpar o projeto, fechar o Eclipse, reabri-lo e iniciar meu projeto finalmente fez meu R.java reaparecer ... Espero que ajude
fonte
Verifique se você não está importando
android.R;
fonte
R.java nunca será gerado se houver algum erro na
res
pasta. Por exemplo, na subpasta desenhável, existem dois arquivos com o mesmo nome, um é icon.png e o outro é icon.html.Você pode ver algum erro na janela de log do console do Eclipse, que está dizendo "Ícone de entrada de recurso já está definido". Após excluir o icon.html, você pode limpar ou simplesmente excluir a
gen
pasta. Você verá que R.java é criado.fonte
Descobri que qualquer arquivo com letras maiúsculas na
res
pasta criará esse erro. Isso aconteceu comigo com um arquivo PNG que eu adicionei e esqueci.fonte
Depois de ler muitas postagens e vídeos do YouTube, descobri que cada um de nós
R.java
desapareceu por diferentes motivos.Aqui está como eu corrigi isso no Eclipse:
gen
pasta manualmente e salve.A seguinte mensagem será exibida e seu arquivo será reescrito automaticamente:
fonte
Para mim, vinculei o v7 appcompat duas vezes. De qualquer forma, no Eclipse, clique com o botão direito do mouse no nome do projeto no Package Explorer ou no Navigator, acesse Propriedades, Android e desmarque as duplicatas na seção Biblioteca. Pode ser necessário criar -> limpar posteriormente.
fonte
Obviamente, não há uma resposta final para isso, mas aqui está outra que ainda não vejo aqui:
Eu tive
R.java
desaparecer depois (tentar) uma equipe Sincronizar, e havia arquivos de resolução de conflitos no projeto (ou seja,thingy.xml.mine
,thingy.xml.r35
, etc.). Excluindo-os / resolvendo os conflitos regeneradosR
.fonte
Eu tive esse problema. Por acaso eu apaguei este
que começou a causar erros de construção em todo o projeto nos meus arquivos XML e nos meus arquivos Java. Assim que redigitei o que excluí, ele funcionou novamente :)
fonte
OK, é claro que pode haver muitas causas para esse problema. Se você estiver em uma máquina Linux de 64 bits e estiver configurando o ADT pela primeira vez, poderá encontrar este problema em que o R não está gerando automaticamente. Verifique a guia do console e você poderá ver um erro semelhante a:
Se for esse o caso, você precisará instalar o ia32-libs, usando algo como:
Veja aqui para detalhes: adb do Android não encontrado
fonte
Eu me deparei com esse problema algumas vezes. Descobri que, se não importasse o pacote R pelo nome do meu aplicativo, por exemplo, se meu aplicativo tivesse o nome do pacote exemplo.teste, descobri que precisava importar o exemplo.teste.R para acessar qualquer um dos Recursos.
Se isso não foi importado, os recursos que retornaram foram os recursos padrão, sem incluir nenhum dos meus.
Com isso dito, se você achar que está obtendo apenas uma lista de recursos padrão, verifique se está importando application_package_name.R e não android.R.
fonte
Meu problema era que
appcompat
não estava no mesmo diretório do meu projeto.Descobri isso ao compilar meu aplicativo com o Ant .
fonte
Verifique também se você possui a versão mais recente do plug-in ADT e abra o gerenciador do SDK do Android para atualizar todas as ferramentas do SDK para a versão mais recente. Verifique também se há atualizações no próprio Eclipse. Versões não correspondentes causaram o problema para mim.
fonte
Meu problema estava dentro de um arquivo de menu. O compilador não parece avisá-lo se as seqüências que não existem no interior
strings.xml
são referenciadas nos arquivos de menu. Verifique se ositem
s no seu arquivo XML do menu referenciam seqüências que não existem no seustrings.xml
. Geralmente emandroid:title
.fonte
Para mim, esse erro foi causado quando tentei duplicar um existente em
res/menu
vez de criar um com owizard
.fonte
Todas essas respostas podem não funcionar se você usar o Maven. A solução para mim foi adicionar
para a seção de configuração do android-maven-plugin.
fonte
Eu encontrei uma solução por que R.class não é fabricado pelo Eclipse depois de fabricá-lo novamente - 2 limpos, construídos etc.
O problema está aqui em strings.xml:
Por padrão, eles são criados pelo Eclipse quando você cria projetos.
Definitivamente, você está alterando o strings.xml para seus próprios requisitos. Às vezes, você limpa o string.xmls essas duas linhas do seu código:
Está causando um problema no arquivo AndroidManifest.xml:
Portanto, ele não pode se comunicar com o strings.xml.
fonte
Alterei o nome do arquivo XML do layout e descobri mais tarde que o arquivo XML (provedor de widgets nesse caso) ainda se refere ao XML antigo do layout que não existe e que impedia a geração / correção automática da classe R.
fonte