Estou recebendo o temido pacote R
não existe, está me matando. O código está bom. Tenho aplicativos no mercado executando o código.
Agora está efetuando webview
aplicativos simples . o.0
R.string.app_name
está errado meu main.xml
e string.xml
está bem. Estou tããão confuso.
Eu abri uma versão mais antiga para "borrow"
algum código e foi inundado com R. errors.
eu fiz uma limpeza e nada mudou, exceto para a importação R.android
sendo adicionada no topo.
Eu até carreguei no Netbeans e recebo a mesma coisa. Limpar não está funcionando. Posso escrever o R.java
arquivo sozinho?
O que é isso R
? não é R
. suposto corresponder aR.java
Respostas:
Para qualquer um que se deparou com isso, refatorou renomeando as pastas de namespace. Eu apenas esqueci de editar o AndroidManifest e é por isso que recebi este erro.
Certifique-se de verificar isso também.
fonte
Só para simplificar:
Claro, substituindo
your.app.package
pelo seu pacote de aplicativo.Em todas as classes que usam referências de recursos R, remova qualquer outro
import
com.R
, ou seja,import android.R;
fonte
phonegap platform remove android
ephonegap platform add android
TL; DR , se você receber o erro "pacote R não existe", os motivos possíveis são
-> corrigir erros XML
R
pacote (verpackage
atributo em AndroidManifest.xml)->
R
classe de importação , por exemploimport com.example.android.R;
-> ou use o pacote apropriado em sua fonte, por exemplo
package com.example.android;
-> ou altere o atributo do pacote em AndroidManifest.xml para
<manifest xmlns:android="..." package="com.example.android" ...>
, se for apropriadoR
ids usados são dos recursos do sistema-> não importe
android.R
, mas prefixe os ids ofensivos comandroid.
, por exemplo,android.R.layout.simple_list_item_2
você pode importar em
android.R
vez de prefixar os ids é claro, mas então você não pode importar mais aR
classe do aplicativo e deve prefixar os ids do aplicativo, por exemplocom.example.android.R.id.main_menu
.A
R
classe é gerada automaticamente a partir dos recursos do aplicativo. Ele contém osid
s para esses recursos e está contido no pacote nomeado na<manifest>
tag noAndroidManifest.xml
arquivo correspondente .Se não houver erros nos arquivos XML de recursos, a
R.java
fonte será gerada em um subdiretório de pacote abaixogen/
e compilada.Existe outra
R
classe localizada noandroid
pacote. Estaandroid.R
classe contém algumas classes aninhadas, que por sua vez contêm seid
outros valores para recursos do sistema .Para usar uma classe em Java, você deve nomear a classe com o pacote inteiro, por exemplo
ou importe a classe e use-a sem o pacote
Você também pode usar uma classe sem nomear o pacote, se a classe atual e a classe usada estiverem no mesmo pacote, por exemplo
fonte
Nunca, jamais tente escrever a classe R sozinho!
Você importou a classe R certa em seus arquivos?
Fazendo
ao invés de
parece ser o problema para muitas pessoas. Depois de limpar e construir, minhas aulas às vezes importam o errado.
fonte
se você estiver desenvolvendo no android studio e refatorou o nome do pacote, deve alterar o nome do pacote no manifesto do Android e no arquivo gradle do aplicativo.
e no arquivo de manifesto
fonte
R.java é um arquivo gerado automaticamente, geralmente não é compilado se houver erros no arquivo xml.
Não Você não pode escrever seu próprio arquivo R.java, ele deve ser gerado pelo compilador de recursos.
Verifique se há erros em todos os seus arquivos xml.
fonte
A classe R é um código Java gerado automaticamente a partir de seus arquivos XML (layout da IU, strings de internacionalização, etc.) Se o código costumava funcionar antes (como parece que está), você precisa dizer ao seu IDE para regenerar esses arquivos de alguma forma :
fonte
Acho que costumava funcionar, mas agora não ..
Isso pode acontecer se você alterar o nome do PACOTE dentro do seu arquivo MANIFEST
Se você quiser mudar o nome do pacote
fonte
com.example.rickydam.txtbooks
paracom.txtbooks.txtbooks
fazendo um novo projeto e mudei tudo para o novo projeto, mas não consegui encontrar R. Eu tentei invalidar caches, sincronizar com o gradle, limpar o projeto, reconstruir o projeto, reinstalar ferramentas SDK ... Nada estava funcionando! Mas sua solução resolveu meu problema! Obrigado novamente! Continue codificando!Acabei de encontrar este erro ao usar o Bazel para criar um aplicativo Android:
Certifique-se de que seu
android_library
/android_binary
esteja usando umAndroidManifest.xml
com opackage=
atributo correto e, se estiver usando ocustom_package
atributo emandroid_library
ouandroid_binary
, certifique-se de que esteja escrito corretamente.fonte
Excluir import android.R; de todos os arquivos .. uma vez que limpe o projeto e construa o projeto .... Ele irá gerar
fonte
Amostra: Meu pacote é com.example.mypc.f01 , para corrigir o erro, você adiciona a linha abaixo à Atividade:
import com.example.mypc.f01.R;
fonte
Abaixo estão algumas técnicas que você pode usar para remover este erro: -
fonte
No meu caso, percebi que estava criando vários pacotes no projeto. No manifesto do Android, descobri que o nome do provedor estava mantendo incorretamente o valor de MyContentProvider em vez de .provider.MyContentProvider. Meu pacote principal (com a IU) era co.companyname.database.provider em vez de co.companyname.database.
Em seguida, nas instruções de importação para a classe afetada, simplesmente cliquei com o botão direito e pedi ao Android Studio (0.8.6) para otimizar minhas instruções de importação. Também observei que se você pesquisar .R na barra de pesquisa do AS no canto superior direito do IDE, poderá encontrar um arquivo R.java gerado automaticamente que faz parte do seu pacote. Neste ponto, você não precisa mudar nada. O Studio deve consertar o projeto depois de corrigir o arquivo Android Manifest e reconstruí-lo.
Um outro item é que em uma aula eu estava fazendo uso de toString (). Length () para avaliar uma string, mas troquei-os por TextUtils.IsEmpty (stringVal); Não consigo pensar em mais nada que fiz para resolver o problema.
Espero que isso ajude alguém.
NB - Tudo isso é com AS 0.8.6
PS
R.java é gerado automaticamente, então leia o cabeçalho: / * AUTO-GENERATED FILE. NÃO MODIFIQUE. * * Esta classe foi gerada automaticamente pela ferramenta * aapt a partir dos dados de recursos encontrados. Ele * não deve ser modificado manualmente. * /
fonte
Quando experimentei isso, criei um novo projeto e copiei os arquivos do meu projeto antigo para o novo.
No entanto, eu ainda tinha o mesmo problema:
R does not exist
. Então percebi que tinha copiado e colado o Manifesto do meu bloco de notas nos manifestos do Android Studio e não alterei o nome do pacote no arquivo de manifesto.Portanto, depois que alterei o nome do pacote no manifesto para o novo nome do projeto, o novo projeto que criei funcionou bem.
fonte
Quais arquivos você está importando para os arquivos que obtêm o erro R?
Meu entendimento do arquivo R é que eles são listas de referência geradas automaticamente para todos os atributos dentro do aplicativo Android. Portanto, você não pode mudar isso sozinho.
Você está usando o Eclipse para construir este projeto? Os projetos mais antigos estavam recebendo esses erros antes de atualizar o Eclipse? Quais são as referências que estão obtendo erros?
Certifique-se de que não importou outro arquivo R de outro código copiado em outro aplicativo.
fonte
Eu me deparo com esse problema sempre que troco de computador e tento importar projetos antigos de arquivos transferidos via USB.
Minha solução alternativa é apenas criar um novo projeto e copiar (arrastar) os arquivos para o IDE (atualmente usando o Netbeans) e reconstruir. Isso é um aborrecimento e uma solução meio hacky, mas corrige o problema.
Se isso acontecer com você, o pior caso é que você precise fazer backup de seus arquivos, excluir o projeto e apenas arrastar os arquivos para lá e recompilar. Espero que não chegue a esse ponto, mas essa seria sua opção nuclear.
fonte
Você pode tentar
Menu superior do Android Studio> Arquivo> Invalidar caches / reiniciar ...
Clique no botão invalidar cache / reiniciar para reiniciar seu projeto
Resolva R.xxxx.xxx novamente se algum fragmento da classe R não resolver corretamente
então reconstrua seu projeto
Espero que ajude
fonte
Se você encontrar este erro no Android Studio:
Verifique os arquivos do módulo Gradle -> defaultConfig -> configuração de applicationId.
Verifique a tag AndroidManifest.xml -> pacote de manifesto.
Verifique as declarações de pacote em todos os arquivos src java.
Sincronizar, limpar e reconstruir com o Gradle.
NUNCA crie seu próprio arquivo R. R é gerado automaticamente a partir de seus arquivos Java de origem e configurações de construção.
fonte
Tive: "erro: o pacote R não existe" e assumi que javac não tinha acesso ao R.java.
Então, acrescentei% PROJ_LOC% \ gen ao sourcepath e funcionou! SOURCEPATH =% PROJ_LOC% \ src;% PROJ_LOC% \ gen
Não estou usando o Android Studio ou Ant (ou XML).
fonte
Se esse erro aparecer após a resolução de conflitos de mesclagem, um projeto simples Build -> Clean pode ajudar.
fonte
Acabei de me livrar do erro no meu projeto. Eu importei um projeto de amostra, alterei as pastas do pacote, mas não atualizei o pacote em um dos arquivos java.
A causa mais provável deste erro 'pacote R não existe' é que o nome do pacote em Java ou arquivo de manifesto está incorreto. Verifique se ele está correto e em sincronia e, em seguida, faça uma compilação limpa.
fonte
Às vezes, isso é resolvido quando você apenas reimporta o projeto para o Android Studio.
fonte
Caminho errado: o projeto "desconta" os ponteiros para as imagens e se você tiver feito alterações de nome no caminho, por exemplo, pacote ou pastas refatorados. Depois, basta escrever a letra R novamente e o editor sugere o caminho certo e tudo funcionará. Neste caso, seus nomes de arquivo estão corretos e o conteúdo que é referido no ponteiro R. está presente, mas o caminho está errado, portanto, limpar e criar não funcionará.
fonte
Outro caso de quebra de R. é o processamento de anotações .
Algum processamento pode se referir a classes localizadas em certas pastas ou níveis de pasta. Se você mover as classes obrigatórias para outro local, poderá obter R. como uma classe desconhecida.
Infelizmente, a indicação de erro para esse problema não é evidente no Android Studio.
fonte
Não há vantagem em escrever R.java você mesmo, porque ele é alterado em cada compilação,
Apenas lembre-se de usar R.something, por exemplo: R.raw.filename de classes internas que possuem valor de pacote semelhante ao valor de pacote dentro de AndroidManifest.xml
porque os IDs de recursos R. são definidos para o aplicativo ou biblioteca atual e todos são verificados se existirem no tempo de compilação, então não faz sentido permitir que eles sejam acessados a partir de "código" que não tem como alvo o aplicativo ou biblioteca atual e pode ser usado em outros lugares.
fonte
Esqueci de adicionar o "nome" do meu "pacote" no início da minha classe java. Verifique se o seu foi realmente adicionado.
fonte
Eu resolvo meu problema:
.
Ir para o
AndroidManifest.xml
arquivo e mudarminSDKVersion="17"
de 19fonte