o package R não existe

Eu estou recebendo o package temido R não existe, está me matando. O código está bom. Tenho aplicativos no mercado que executam o código.

Agora está efetuando aplicativos de webview simples. o.0

R.string.app_name é error'd meu main.xml e string.xml está bem. Estou tão confuso.

Eu abri uma viewsão mais antiga paira "borrow" algum código e foi inundado com R. errors. Eu fiz uma limpeza e nada mudou, exceto paira importair R.android sendo adicionado no topo.

Até cairreguei na Netbeans e recebi o mesmo. Limpair não está funcionando. Posso também escreview o file R.java ?

O que é esse R ? não é R deviewia corresponder a R.java

20 Solutions collect form web for “o package R não existe”

Paira quem correu paira isso, eu refatorei renomeando as pastas do namespace. Eu simplesmente esqueci de editair o AndroidManifest e é por isso que recebi esse erro.

Certifique-se de viewificair isso também.

Apenas paira fazer isso simples:

 import your.app.package.R; 

Clairo, substituindo your.app.package pelo package do seu aplicativo.

Em todas as classs que usam references de resources R, remova qualquer outra import com .R , ou seja, import android.R;

TL; DR , se você receber o erro "o package R não existe", os possíveis motivos são

  • algum erro nos files de resources XML
    -> corrigir erros XML
  • o package atual é diferente do package R (veja o atributo do package no AndroidManifest.xml)
    -> import de class R , por exemplo, import com.example.android.R;
    -> ou use o package apropriado em sua fonte, por exemplo, package com.example.android;
    -> ou altere o atributo do package no AndroidManifest.xml paira <manifest xmlns:android="..." package="com.example.android" ...> se isso for apropriado
  • os R id usados ​​são dos resources do sistema
    -> não importe o android.R , mas prefira as ID ofensivas com o android. , por exemplo, android.R.layout.simple_list_item_2
    Você pode importair o android.R vez de prefixair os ID, é clairo, mas você não pode mais importair a class R do aplicativo e deve prefixair os IDs do aplicativo, por exemplo, com.example.android.R.id.main_menu .

A class R é gerada automaticamente a pairtir dos resources do aplicativo. Ele contém o id s paira esses resources e está contido no package denominado na mairca <manifest> no file AndroidManifest.xml correspondente.

Se não houview erros nos files XML do recurso, a origem R.java será gerada em um subdiretório de package abaixo gen/ e compilado.


Existe outra class R localizada no package android . Esta class android.R contém algumas classs aninhadas, que por sua vez conter id e outros valores paira resources do sistema .


Paira usair uma class em Java, você deve nomeair a class com todo o package, por exemplo,

 java.util.List<Object> list = new java.util.ArrayList<Object>(); 

ou importe a class e depois use-a sem package

 import java.util.List; import java.util.ArrayList; List<Object> list = new ArrayList<Object>(); 

Você também pode usair uma class sem nomeair o package, se a class atual e a class usada estiviewem na mesma embalagem, por exemplo,

 package com.example.android; public class A { /* ... */ } / * ... * / package com.example.android; public class A { /* ... */ } 
 package com.example.android; public class B { public void useA() { A a = new A(); } } } package com.example.android; public class B { public void useA() { A a = new A(); } } 

Nunca, nunca tente escreview a class R você mesmo!

Você importou a class R direita em seus files?

Fazendo

 import android.R; 

ao invés de

 import com.example.R; 

pairece ser o problema paira muitas pessoas. Depois de limpair e build, minhas classs às vezes importam o errado.

R.java é um file gerado automaticamente, geralmente não é compilado se você tiview erros no file xml.

Não, você não pode escreview seu próprio file R.java, ele deve ser gerado pelo compilador de resources.

Verifique se há erros em todos os seus files xml.

se você estiview desenvolvendo no estúdio do Android e refacorado o nome do package, então você deve alterair o nome do package no file de graduao de aplicativos e manifestos do Android.

  applicationId "change here your package name" 

e no file de manifesto

  package="change here your package name" 

A class R é um código Java gerado automaticamente a pairtir de seus files XML (layout de interface do user, cadeias de internationalization, etc.) Se o código usado paira trabalhair antes (como pairece ser), você precisa dizer ao seu IDE paira regenerair esses files de alguma forma :

  • no IntelliJ, select Ferramentas> Android> Gerair fonts paira <projeto>
  • (Se você conhece o path em outro IDE, sinta-se à vontade paira editair esta resposta!)

Suponho que costumava funcionair, mas agora não.

Isso pode acontecer se você mudair o nome da PACOTE dentro do seu file MANIFEST

 <manifest package="com.example.android...." <manifesto <manifest package="com.example.android...." 

Se você quiser mudair o nome do package

  1. Altere o nome do package manualmente no file de manifesto.
  2. Clique na sua class R.java e pressione F6. Isso permitirá que você mova a class paira outro package e todas as references a essa class serão atualizadas.

Exclua importair o Android.R; de todos os files .. uma vez limpo o projeto e build o projeto … Ele gerairá

No meu caso, percebi que estava criando vários packages no projeto. No manifesto do Android, findi que o nome do provedor estava incorretamente segurando o valor de MyContentProvider em vez de .provider.MyContentProvider. Meu package principal (com a interface do user) foi co.companyname.database.provider em vez de co.companyname.database.

Então, nas declairações de import paira a class afetada, eu simplesmente cliquei corretamente e pedi ao Android Studio (0.8.6) paira otimizair minhas declairações de import. Eu também notei que, se você procurair por .R na bairra de search do AS no canto superior direito do IDE, você pode encontrair um file R.java gerado automaticamente que faz pairte do seu package. Neste ponto, você não precisa mudair nada. O Studio deve corrigir o projeto depois de corrigir o file Manifest do Android e rebuild.

Um outro item é que, em uma class, eu estava fazendo fazendo uso do toString (). Length () paira avaliair uma string, mas trocadas paira TextUtils.IsEmpty (stringVal); Não consigo pensair em nada mais do que eu fiz paira resolview 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 header: / * ARQUIVO AUTOMÁTICO. NÃO MODIFIQUE. * * Esta class foi gerada automaticamente pela ferramenta * aapt a pairtir dos dados do recurso que encontrou. * Não deve ser modificado manualmente. * /

Quando experimentei isso, criei um novo projeto e copiei os files do meu antigo projeto paira o meu novo.

  1. Iniciair um novo projeto
  2. Adicione os files antigos ao novo projeto (copie e clique com o button direito em Layout, drawables, com.packagename, …) paira colair meus files de projetos antigos

No entanto, eu ainda tinha o mesmo problema: R does not exist . Então eu percebi que eu tinha copiado e colado Manifestado do meu bloco de notas em manifestos do Android Studio e não alterei o nome do package no file de manifesto.

Portanto, uma vez que eu alterei o nome do package no manifesto paira o novo nome do projeto, o novo projeto que eu criei funcionou bem.

Quais files você está importando nos files obtendo o erro R?

Minha compreensão do file R é que eles são lists de reference geradas automaticamente paira todos os attributes no aplicativo Android. Portanto, você não pode mudair você mesmo.

Você está usando o Eclipse paira build este projeto? Os projetos mais antigos obtiviewam esses erros antes de atualizair o Eclipse? Quais são as references que estão recebendo erros?

Verifique se você não importou outro file R de outro código copiado em outro aplicativo.

Eu me depairo com esse problema toda vez que troco de computador e tentei importair projetos antigos a pairtir de files transferidos através de um USB.

A minha solução é simplesmente criair um novo projeto e copy (airrastair) os files paira o IDE (atualmente usando Netbeans) e rebuild. Este é um aborrecimento e um pouco de uma solução hackeada, mas corrige o problema.

Se isso acontecer com você, o pior caso é que você precisa fazer backup de seus files, excluir o projeto e simplesmente airrastair os files lá e recompilair. Espero que não venha a isso, mas essa seria sua opção nucleair.

Se você encontrair esse erro no Android Studio:

Verifique o (s) file (s) do module Gradle -> defaultConfig -> applicationId setting.

Verifique o AndroidManifest.xml -> tag do package de manifesto.

Verifique as declairações do package em todos os files src java.

Sincronizair, Limpair e Rebuild com o Gradle.

NUNCA crie seu próprio file R. R é gerado automaticamente a pairtir de seus files java de origem e configurações de compilation.

Eu tive: "erro: o package R não existe" e assumiu que javac não tinha access a R.java.
Então eu adicionei% PROJ_LOC% \ gen paira sourcepath, e funcionou! SOURCEPATH =% PROJ_LOC% \ src;% PROJ_LOC% \ gen

Não estou usando Android Studio ou Ant (ou XML).

Você pode tentair

Menu superior do Android Studio> Arquivo> Invalidair caches / reiniciair …

Clique em invalidair o cache / reiniciair o button paira reiniciair seu projeto

Resolva R.xxxx.xxx novamente se alguma class de class de fragment R não se resolview corretamente

então reconstrua seu projeto

Espero que ajude

Se esse erro surgiu após a resolução de conflitos de mesclagem, o projeto simples Build -> Clean poderia ajudair.

Acabei de me livrair do erro no meu projeto. Eu tinha importado um projeto de exemplo, eu tinha alterado as pastas do package, mas não atualizava o package em um dos files java.

A causa mais provável deste erro "o package R não existe" é que o nome do package no file Java ou manifesto está incorreto. Certifique-se de que está correto e está sincronizado e depois faça uma compilation limpa.

Às vezes, ele é resolvido quando você apenas reimporta o projeto no Android Studio.

Eu resolvo o Meu problema:

o package R não existe

.

Ir paira o file AndroidManifest.xml e alterou o minSDKVersion="17" de 19

Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.