Classe R.java sumiu [Resolvido]

Estou iniciando no Android e reparei que algumas vezes a classe R.java desaparece do projeto, alguém sabe por que isso acontece?

Está usando qual IDE?

Usando o Motodev, percebi que quando cometo algum erro de código, aparece um arquivo main_out.xml e o R.java desaparece.

Isso acontecia comigo quando eu programava no Netbeans.
Desde que comecei a utilizar o Eclipse pra programar pra Android, nunca mais tive esse problema.

Depois de quebrar um pouco a cabeça descobri que apagando esse aquivo main_out.xml, fazendo um refresh e depois um clean no projeto ele recria o R.java.

O que eu queria saber mesmo é por que ele desaparece e se esse procedimento realmente está correto…

Mesmo assim obrigado pela dica. :wink:

Olá pedrogf89. Sobre gerar o arquivo main_out.xml, quebrei a cabeça muitas vezes sobre isto, geralmente quando se está com o arquivo XML de layout aberto e/ou sendo visualizado. Feche o mesmo, faça o clean projeto, não haverá erro, e criar a classe R será criada corretamente.
Ah, como diogozero comentou, utilize o Eclipse SDK, é ótimo.

Boa noite pessoal, sou novo no fórum, no java e no android, toda minha experiência é com C#, portanto estou bastante perdido.
Estou com um problema gravissimo na minha opinião…

Baixei o eclipse, versão Juno.
Baixei o ADT e todos os SDKs necessários para o Android.

O que acontece?

Criei um novo projeto (File > New > Project > Android Application Project).
Preencho os nomes ali…
Seleciono Build SDK 2.1 API 7
Crio uma activity com um nome qualquer (MainActivity)

Neste momento, a aba console já me retorna isto

Na pasta gen, não existe o arquivo R.Java.

Se eu der um clean no projeto, recebo isto:

[quote][2012-07-24 00:13:45 - aaa] W/asset ( 1168 ): Asset path C:\Windows\System32\config\systemprofile\android-sdks\platforms\android-7\android.jar is neither a directory nor file (type=1).
[2012-07-24 00:13:45 - aaa] ERROR: Asset package include ‘C:\Windows\System32\config\systemprofile\android-sdks\platforms\android-7\android.jar’ not found.
[/quote]

Alguém tem alguma ideia de como consigo corrigir isto, na verdade, neste momento eu quero que o projeto compile e exiba o helloWorld na tela simulada.

Valeu.

[quote=iborba]Boa noite pessoal, sou novo no fórum, no java e no android, toda minha experiência é com C#, portanto estou bastante perdido.
Estou com um problema gravissimo na minha opinião…

Baixei o eclipse, versão Juno.
Baixei o ADT e todos os SDKs necessários para o Android.

O que acontece?

Criei um novo projeto (File > New > Project > Android Application Project).
Preencho os nomes ali…
Seleciono Build SDK 2.1 API 7
Crio uma activity com um nome qualquer (MainActivity)

Neste momento, a aba console já me retorna isto

Na pasta gen, não existe o arquivo R.Java.

Se eu der um clean no projeto, recebo isto:

[quote][2012-07-24 00:13:45 - aaa] W/asset ( 1168 ): Asset path C:\Windows\System32\config\systemprofile\android-sdks\platforms\android-7\android.jar is neither a directory nor file (type=1).
[2012-07-24 00:13:45 - aaa] ERROR: Asset package include ‘C:\Windows\System32\config\systemprofile\android-sdks\platforms\android-7\android.jar’ not found.
[/quote]

Alguém tem alguma ideia de como consigo corrigir isto, na verdade, neste momento eu quero que o projeto compile e exiba o helloWorld na tela simulada.

Valeu.[/quote]

Eu ainda não utilizei o Juno, talvez seria interessante utilizar uma versão mais antiga do Eclipse.
Tente verificar se o SDK está configurado corretamente Window -> Preferences -> Android verfique se o SDK Location está apontado para a pasta correta.

Bah velho, funcionou (gerou o R.java)…
Era o SDK Location que estava apontando para o local errado mesmo, desatenção minha. :oops:

Valeeeeu :smiley:

Por nada!

Não esquenta não, pra quem ta começando sempre aparece esse tipo de coisa.

:wink:

O SDK ta apontando pro local certo e a classe R sumiu quando eu dei clean e não volta nem com macumba. Por essas e outras que to me cansando desse ramo…

Pessoal, tem que ter calma para programar!

Gente, estou tendo o mesmo problema com o NetBeans para Android, a classe R some e mandei executar para ver o que dava e deu isso:

SDK does not have any Build Tools installed.
BUILD FAILED (total time: 0 seconds)

Lembrando que já uso no Eclipse e nunca tive problema! AHHHH esse NETBEANS.

Valeu gente!

[quote=danpayne]Pessoal, tem que ter calma para programar!

Gente, estou tendo o mesmo problema com o NetBeans para Android, a classe R some e mandei executar para ver o que dava e deu isso:

SDK does not have any Build Tools installed.
BUILD FAILED (total time: 0 seconds)

Lembrando que já uso no Eclipse e nunca tive problema! AHHHH esse NETBEANS.

Valeu gente!
[/quote]

Realmente tem que ter muita calma!

Nunca usei o NetBeans para o android, mas pelo erro não será que falta configurar o SDK no NetBeans??

Desculpe se é uma pergunta besta, mas tem que ter calma pra programar!

Já passei por isso também, no meu caso era erro no layout XML, apenas ajustei o arquivo XML e a classe R apareceu novamente.

Galera, ontem fuçando descobri várias “coisinhas” no NETBEANS e também resolvi o problema!!!

1º Parece existir algum problema de compatibilidade de rede com proxy ou coisa do tipo na versão 7.1.1 que não baixar o plugin do Android.
SOLUÇÃO= Baixei a versão mais nova 7.3.1 e tudo se resolveu, consegui instalar o plugin do Android.

2º Havia um erro com a SDK que apesar de funcionar normalmente com o ECLIPSE, não servia para o NETBEANS. QUe coisa não???
SOLUÇÃO = Baixei um SDK novo no site oficial http://developer.android.com/sdk/index.html#download e descompactei em um outro lugar para testar. Eu não substitui o outro que já tinha, apenas extrair em outra pasta. Fiz o teste VOI LA, funcionou o bendito. Criou a classe R. OBS: Não esqueça de mudar o link para apontar para o novo SDK, OK? Isso é no TOOLS -> OPTIONS -> MISCELLANEOUS -> ANDROID - SDK LOCATION.

3º Fui abrindo as pastas para comparar e percebi que tinha uma pasta diferente dentro da pasta do /sdk/build-tools. Então copiei o que havia na pasta nova do SDK para a velha. Voltei o apontados do SDK para a pasta antiga para conferir se resolveu, porém quando abri um novo projeto no NETBEANS continuou o mesmo erro. MASSSSS aí vem o segredo.
SOLUÇÃO = De todo jeito gente TENTE rodar o projeto, pois quando o fiz, OLHA que apareceu… o R tão procurado. Enfim. espero ajudar alguém e estamos aí.

Qualquer dúvida só comunicar!
Abraços a todos.

Não é que com calma resolvemos mesmo!

:slight_smile:

Parabéns por ter conseguido, danpayne!

Obrigado por compartilhar a sua solução.

Tive esse problema também, e gastei horas e horas tentando todos os procedimentos e métodos recomendados nos fóruns e FAQs espalhados pelo Google. Porém, todos sem sucesso.

A única solução aparente foi ir até a pasta onde o R.java é gerado (nome_do_app/gen/br/com/exemplo), copiar o arquivo BuildConfig.java e colar no mesmo local, editando em seguida o nome da cópia para R. No Eclipse, criei um novo projeto de app, e copiei todo o conteúdo de um arquivo R gerado automaticamente para o que eu mesmo gerei. Por fim, dei “Clean” e “Build All” e todas as configurações foram atualizadas, adaptando o novo R para as necessidades do projeto.

Espero ter ajudado.

Obrigado pela dica Leo, na verdade ainda não consegui encontrar uma solução definitiva para o problema, algumas vezes isso volta a acontecer e a cada vez aparece uma forma nova de solucionar.

So espero que com as próximas versões do SDK esse problema seja corrigido.

Um outra solução que encontrei foi a seguinte:

Na pasta "gen" crie um arquivo vazio com o nome R.java.
Vá em project -> clean.
Clique com o botão direito no projeto vá na opção Android Tools -> Fix Project Properties.

Isso resolveu algumas vezes para mim.