Em todas as instâncias de todas as minhas classes em que faço referência R.id.something
, o R
está em vermelho e diz "não é possível resolver o símbolo R". Além disso, toda vez que existe R.layout.something
, é sublinhado em vermelho e diz "não é possível resolver o método setContentView (?)". O projeto sempre é bom. É chato ver isso o tempo todo. Eu li muitas outras perguntas aqui sobre algo semelhante, mas a maioria envolvia a importação de projetos do Eclipse. Estou usando o que acredito ser a versão mais recente do Android Studio e o projeto foi criado com o Android Studio e funcionou sem problemas "não pode resolver R". Eu gostaria de saber o que causa isso, se alguém souber.
android
android-studio
r.java-file
ez4nick
fonte
fonte
Respostas:
Eu também tinha esse problema. Um simples 'gradlew clean' e 'gradlew build' fizeram o truque.
Clique em Build-> Clean Project e isso executará uma limpeza gradual.
fonte
Nas versões mais recentes do Android Studio, pelo menos para mim, o seguinte funciona:
"Ferramentas" -> "Android" -> "Sincronizar projeto com arquivos Gradle"
No mais recente Android Studio 3.1.3 (julho de 2018), "Sincronizar projeto com arquivos Gradle" está disponível na barra de menus principal.
fonte
Eu estava usando o gradle 3.3.0. Foi o principal culpado. Desperdiçou 6,50 horas da minha vida. O Gradle 3.2.1 removeu o erro.
Problema resolvido após alterar a versão gradle. O histórico de detalhes pode ser encontrado aqui .
fonte
3.2.1
era realmente a única solução que funcionou para mim ...3.2.1
você também pode atualizar o Android Studio para a versão3.3
. Veja minha resposta aquiEu tenho um problema semelhante e aqui está o que eu fiz:
Projeto limpo e projeto de sincronização com Gradle,
verifique a versão do buildTools no meu sdk
Do build gradle (módulo), altere minSdkVersion de 8 para 9
Mas tudo isso não ajudou.
Finalmente encontrei a resposta (isso funcionou no meu caso)
Mude de build.gradle (módulo: app)
Ou
Selecionar arquivo | Alteração da estrutura do projeto Versão das ferramentas de compilação para 21.1.1
fonte
É isso.
Por exemplo, eu tinha uma entrada no meu
strings.xml
:E
activity_main.xml
eu usei essa entrada de stringEnquanto trabalhava com o projeto, eu apaguei isso
E, consequentemente,
activity_main.xml
tornou-se inválido. Como resultado: não é possível resolver R.Portanto, verifique seus
*.xml
arquivos e limpe o projeto.fonte
Se você vir esse erro após mover arquivos ou diretórios java para outros locais, poderá garantir que o Android Studio ficou confuso. E adivinha? desfazer essas ações não resolve o problema.
Então você tenta uma limpeza, mas isso não funciona.
E reiniciar também não funciona.
Mas tente Arquivo -> Invalidar caches / reiniciar ... -> Invalidar e reiniciar
O Android Studio mantém informações sobre quais arquivos dependem de quais outros arquivos. E como a movimentação de arquivos não é implementada corretamente, a movimentação de arquivos causa erros. E isso não é tudo: os caches dessas dependências são usados na tentativa de acelerar a compilação.
Isso significa que você não apenas precisa reiniciar, mas também precisa invalidar esses caches para restaurar (ou mais precisamente, reconstruir) a sanidade.
fonte
Eu acho que se você colocar seus arquivos de atividades em outra pasta que não a padrão. Você precisa importar o
com.example.yourproject.R
(este é o seuR
arquivo de projeto NÃOAndroid.R
) para TODAS as atividades usandoR
. Por exemplo, noMainActivity
arquivo, insira esta linha:fonte
Parece haver muitas causas para esse problema. Recentemente, adicionei uma atividade para testar chamada NewActivity. Isso criou um arquivo chamado
res/menu/new.xml
e gradle não gostou desse nome porque new é uma palavra reservada.ou
Definitivamente, essas são boas coisas para tentar, mas você pode ter outros problemas que precisa resolver antes de executar esses comandos.
fonte
O arquivo R.java contém o link entre a página xml e java. "R não pode ser resolvido" surge apenas se houver um problema com alguns dos seus arquivos de recursos. Portanto, a maneira melhor e eficaz é excluir o último xml ou drawable concluído no arquivo res. e comece novamente a partir daí, de acordo com as normas de codificação do Android. Este é o único caminho. O caminho eficaz e correto.
Também use Git para rastreamento adequado de código. ..
fonte
Seu código está apenas embaralhado. A resposta é bastante simples.
Basta ir em Build -> Clean Project .
Isso deve fazer o truque.
Verifique também sua versão do Android Studio.
Atualmente, estou usando o Android Studio 3.0.1 .
fonte
Você atualizou suas ferramentas do SDK recentemente? Inicie o gerenciador do SDK do Android e verifique se você possui as ferramentas mais recentes do SDK, que agora estão separadas das ferramentas da plataforma. Eu tive esse mesmo problema quando atualizei meu gerente do SDK, o pacote de ferramentas de compilação do SDK não apareceu para instalação / atualização até que eu fechasse e reabrisse o gerenciador do SDK.
fonte
Basta limpar o seu projeto e sincronizar o projeto com o arquivo Gradle.
E o problema será resolvido.
fonte
Eu tive isso com
fonte
Build->Clean Project
Recentemente, tive esse problema e o clean / build etc. não o resolveu. Imaginei que tinha um problema em algum lugar, mas não sabia ao certo onde encontrá-lo (estava no manifesto, arquivos xml de recursos etc.?).
Quando algo está errado, você pode descobrir o que é fazendo uma análise de código.
No menu na parte superior, escolha:
Analisar -> Inspecionar código, digitalizar todo o projeto usando o perfil 'Padrão'.
Os resultados da sua inspeção conterão um elemento chamado 'Android'. Aqui você obterá uma lista de tudo o que está causando problemas em seus recursos e no arquivo de manifesto. Os erros abrirão os arquivos xml gerados da sua compilação, que mostrarão os erros em vermelho.
Meu problema exato foi causado porque eu estava usando arquivos de manifesto com base em sabor e copiei algumas permissões dentro da
<application>
marca no sabor por acidente.ATUALIZAÇÃO: Eu tive um problema depois de onde o Android Studio ainda mostrava o erro após a correção, embora agora eu pudesse criar e executar perfeitamente perfeitamente enquanto o erro ainda estava lá. (Estou executando uma compilação de canário, portanto, por enquanto)
fonte
Eu tive que importar meu
R
pacote no estúdio android. Por exemplo:import com.example.<package name>.R
fonte
import com.example.old-package-name.R
, então tive que renomear a importação.Esta é uma pergunta muito antiga, mas ainda acontece muito e não há uma resposta verdadeiramente abrangente aqui.
Eu já tive esse problema mais vezes do que gostaria de admitir. Isso pode ser causado por uma grande variedade de problemas que, principalmente, têm a ver com a estrutura do seu projeto que não corresponde ao esperado. Aqui está uma lista de todos os problemas que tive:
A importação do Eclipse para o Android Studio nem sempre funciona sem problemas, especialmente nas versões mais antigas do Android Studio. Verifique se você está usando a árvore de diretórios correta. Deve ser assim para um aplicativo moderadamente maduro:
Pode não ser assim no seu IDE. Há uma lista suspensa acima da árvore de arquivos que exibe seus arquivos de maneiras diferentes e, no meu sistema, o padrão é o Android, que divide seus arquivos em tipos diferentes. É mais fácil corrigir esse tipo de problema daquele chamado Projeto, e ainda mais fácil diretamente do sistema de arquivos do seu sistema operacional, porque o Android Studio recolhe pastas que contêm apenas outra pasta em uma única linha.
Especialmente se você mudar o nome do seu aplicativo, verifique se a árvore de origem main / java / com / domain / AppName está atualizada. Verifique também se a tag do pacote no seu AndroidManifest.xml está correta.
Se houver erros nos arquivos Gradle ou no AndroidManifest.xml, isso impedirá o Android Studio de criar corretamente os arquivos de recursos. Os arquivos Gradle podem ser quebrados atualizando o Android Studio às vezes, especialmente a partir das versões anteriores à 1.0. Às vezes, isso ocorre porque ele deixa de oferecer suporte a versões mais antigas do plug-in Gradle, portanto, você precisa atualizar seus números de versão. Às vezes, pode ser difícil encontrar quais são as versões atuais. A partir de hoje, 17/07/15, meus aplicativos estão sendo compilados
com.android.tools.build:gradle:1.2.3
. Isso está no bloco de dependências no arquivo gradle mais externo,Se o seu AndroidManifest referenciar um recurso ou atividade de drawable ou string inexistente, ele será interrompido e causará esse erro. Às vezes, se alguma coisa referenciar um recurso drawable ou string inexistente, você receberá esse erro.
Se você tiver um arquivo corrompido nos seus recursos ou um arquivo xml inválido, receberá esse erro.
Na minha experiência, às vezes o Android Studio apenas soluça sem motivo, e você precisa reiniciá-lo e / ou seu PC. Não sei por que, mas às vezes funciona.
Se você tiver dois recursos xml com o mesmo nome, em diretórios que não se substituem, poderá ter esse problema. Por exemplo, você pode ter o mesmo nome em drawable-mhdpi e drawable-xhdpi porque eles se substituem dependendo do dispositivo de destino, mas se você tiver o mesmo nome no layout e no menu, isso causará um problema. Renomeie ou exclua um dos arquivos.
Se apenas alguns recursos tiverem esse problema, é provável que esses recursos estejam no diretório errado.
Em um caso, tive que reinstalar completamente o Android Studio. Não sei o que estava errado, mas funcionou.
Em um caso, mudei meu projeto inteiro para um diretório diferente e reimportei-o como um novo projeto. Não sei o que estava errado, mas funcionou.
Arquivos XML com palavras reservadas para nomes podem causar esse problema. Renomeie ou exclua-os.
Existem algumas maneiras pelas quais o arquivo Gradle pode acabar fazendo referência a uma versão das ferramentas de compilação que você não instalou. Corrija isso alterando Gradle ou baixando as ferramentas de compilação apropriadas.
Finalmente, depois de corrigir o que está errado, você precisa limpar o seu projeto Gradle. Você pode fazer isso acessando o menu Build na parte superior e selecionando Clean Project.
fonte
Basta ir à lista de menus do Android Top. clique no menu Build , em Build, clique em Rebuild Project.
fonte
Eu enfrentei esse problema ao renomear manualmente a pasta de domínio do meu aplicativo. Para corrigir esse problema, tive que
package
estrutura de pastas adequada de<manifest>
inAndroidManifest.xml
.android:name
de<activity>
inAndroidManifest.xml
.O problema desaparecerá assim que o estúdio Android reiniciar e criar o novo índice.
fonte
Eu tive o mesmo problema: Android Studio 3.2 O projeto é compilado e executado bem, mas estou recebendo os avisos "Não é possível resolver o símbolo" R "na tela
Será que não ajuda:
Ajuda:
ou
no build.gradle
substituir com
ou
Atualize o Android Studio para 3.3
fonte
Eu tenho um caso especial para esse problema.
No meu projeto, tudo corre bem, ele pode ser compilado e compilado com êxito, mas no meu Android Studio IDE (e eu também tentei o Intelligent IDEA, eles estão na mesma situação) o arquivo R.java não pode ser bem resolvido e sempre será cair na linha vermelha.
Bem assim:
Isso quase me deixou louco, não consigo suportar a cor de leitura quando estou programando.
Por fim, achei que esse problema complicado é causado pelo tamanho do arquivo da minha R.java. Meu projeto é muito grande, suporta muitos idiomas e vários tamanhos de tela. Existem tantos recursos que o tamanho do arquivo da minha R.java é de cerca de 2,5 milhões .
O tamanho máximo de um arquivo no Android Studio é de 2,5 milhões nas configurações padrão; portanto, arquivos maiores que esse limite não podem ser resolvidos corretamente. E você pode alterar as configurações padrão em "AndroidStudio-root / bin / idea.properties".
mude esta linha:
para :
Em seguida, reinicie o estúdio Android, a cor vermelha descartada, eu posso programar feliz novamente.
fonte
Compilar> Limpar Projeto
Isso funcionou para mim. Teve o mesmo problema algumas vezes, e isso parece corrigi-lo. A menos que você tenha alterado alguma coisa ou chamado de variável R. Esse problema geralmente acontece do nada, quando acontece comigo, então imagino que sejam apenas estúdios do Android em pânico. haha
Tenha uma boa e boa sorte com seus projetos.
fonte
Fazer: Construir> Limpar Projeto
IMPORTANTE: verifique se você não possui nenhum erro após limpar o projeto no painel de mensagens (Alt + 0). Se você encontrar círculos vermelhos com ponto de exclamação, remova esses erros no seu código.
Esses erros estão principalmente relacionados a @ string / ou @ array /. Projeto limpo novamente e pronto!
fonte
Eu tive o mesmo problema, e isso acontece quando eu crio um novo projeto.
O que eu faço é:
Isso funciona para mim.
fonte
Eu tive dificuldade em consertar isso sozinho.
Funcionou para mim, espero que funcione para você também.
fonte
Eu tive o mesmo problema e, na maioria das vezes, é resolvido por
Mas desta vez o erro persistiu mesmo depois de fazer todas essas coisas e, finalmente, encontrei o culpado.
O problema estava em um arquivo xml , no qual eu forneci um valor de sequência comum para um tipo de recurso de identificação em
android:id
vez de um .ERRO
CORREÇÃO
NOTA
Na maioria dos casos, o compilador mostra a fonte do erro na mensagem. Tente verificar antes de tentar outras soluções
fonte
`Eu tive o mesmo problema e resolveu:
fonte
Essa notação parece funcionar bem.
O painel de design do Android Studio parece não funcionar bem.
fonte
Mesmo problema. Iniciado quando adicionei algumas imagens na minha pasta de desenho e tentei acessá-las. Também as imagens adicionadas estavam tendo a extensão com letras maiúsculas. Isso parece ter travado a compilação, pois mesmo que eu os renomeasse, a mensagem era a mesma e R estava inacessível. O que eu fiz é que, no arquivo .iml, procurei o excludeFolder e os removi (como abaixo):
Depois disso, reconstruí o projeto e R reapareceu magicamente.
fonte
Existem muitas causas para esse erro.
<Button/>
mas ele ainda está declarado em qualquer Atividade ou Fragmento .java.A melhor maneira de rastrear o erro é Reconstruí-lo bastante limpo ou sincronizar, fazendo algum erro intencional.
Se isso não resolver o problema, deve haver algum erro de falha ou tempo de execução, ou ocorreu um erro devido ao uso inadequado dos recursos. Pode ser um arquivo java ou xml no seu código ou design, o que está forçando o gradle a parar porque (R ) O arquivo esource não pode indexar seus recursos corretamente e você deve admitir isso.
Se o seu projeto foi executado antes de você fazer as alterações, comente as alterações feitas e tente reconstruí-lo.
Certamente funcionará, pois não haverá alterações.
Para rastrear o erro exato, verifique as alterações dividindo-as em um módulo menor.
Por exemplo - Se você estiver tornando uma lista visível com um clique no botão e inserindo valores de lista no adaptador, verifique primeiro se é possível torná-la visível ou não e, em seguida, verifique se há erros no adaptador.
fonte
Foi uma grande dor de cabeça para mim. No meu caso, o erro apareceu após a configuração do "Google Play Services" no Android Studio (instalação + configuração do build.gradle). Por sua vez, exige minsdk> 7, mas o erro não é muito claro (na verdade, uma reclamação sobre isso aparece apenas como "informações"). De qualquer forma .. ao alterar o minsdk para 8 no arquivo de manifesto e no arquivo build.gradle e na reconstrução do projeto, o erro desapareceu.
Portanto, um conselho geral sobre isso, se é que posso generalizar - você provavelmente tem algum problema no seu arquivo de manifesto ou em algum outro arquivo de configuração que está impedindo uma compilação adequada. Tente olhar muito atentamente para o relatório de erros, até mesmo as mensagens intituladas "info" para qualquer sugestão sobre o que pode ser ...
fonte