Меню

Package r does not exist android studio ошибка

TL;DR, if you get the error «package R does not exist», possible reasons are

  • some error in the XML resource files
    -> fix XML errors
  • the current package is different from the R package (see package
    attribute in AndroidManifest.xml)
    -> import R class, e.g. import com.example.android.R;
    -> or use the appropriate package in your source, e.g. package com.example.android;
    -> or change the package attribute in AndroidManifest.xml to
    <manifest xmlns:android="..." package="com.example.android" ...>, if that’s appropriate
  • the used R ids are from the system resources
    -> do not import android.R, but prefix the offending ids with android., e.g. android.R.layout.simple_list_item_2
    You may import android.R instead of prefixing the ids of course, but then you cannot import the application R class anymore and must prefix the application ids, e.g. com.example.android.R.id.main_menu.

The R class is generated automatically from the application’s
resources. It contains the ids for these resources and is contained
in the package named in the
<manifest>
tag in the corresponding AndroidManifest.xml file.

If there are no errors in the resource XML files, the R.java source
will be generated in a package subdirectory below gen/ and compiled.


There is another R class located in the android package. This android.R class contains some nested classes, which in turn contain ids and other values for system resources.


To use a class in Java, you must name the class with the whole
package, e.g.

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

or import the class and then use it without package

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

You can also use a class without naming the package, if both the
current class and the used class are in the same package, e.g.

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

The “package r does not exist” error message is a problem that shows up in Android Studio. Android Studio is a program for Android application advancement and development. It is associated with an important file used in building the application. Unfortunately, it is not as easy to solve as a code mistake.

The circumstances of this error.

This message tends to occur when compiling an application and the package r file cannot be found in the proper directory. Because it may not be a command line or source code problem it cannot be fixed by simply correcting a coding mistake. Unfortunately, this message can be triggered by a problem in any number of files that can prevent the r class package file from being created. This makes finding and correcting the error more difficult than simply tracking down some poorly written code in your new project data. Unfortunately, this means that the solution is usually more complicated in correcting decoding mistake.

What is causing this error?

The main cause of this message is that the software cannot find the package r.java. This manifest file contains critical class definitions for compiling your application. It is automatically generated by the software based on information contained in an XML file. This means that any errors that occur in AndroidManifest.xml or any other of these XML resource java files will stop the generation of the r.java layout file. If this happens r.java will not be in the folder your project looks for it in to import the needed default r packages. Put simply if r.java is not in the right working directory the program will return the message that the required package r does not exist in the project root directory.

Since this error is not a problem with the code you will not be correcting it at the command line. Since your problem is not with multiple packages one step is to actually check your app or project root directory for r.java. If you cannot find it then it was simply not created due to an error in some other java files.

The most common solution is to clean your Android project and then rebuild it. To do this find “build” on the menu in Android Studio and find the third item down. Selecting this option will clean up your new project or app. Next, go back to “build” on the menu in Android Studio and find the fourth item down. Selecting this option rebuilds your Android project. In most cases, this should fix the problem.

If you have enough experience you may want to look through Android Manifest.xml file for any problems. For example, the package value and launcher activity class attached package should match. So correcting this mismatch should correct it.

If all else fails try restarting Android Studio or if needed your computer. These actions have also been known to fix this problem.

The “package r does not exist” message is something you do not want to get when working with Android Studio. However, it does have simple solutions for you to try that should fix it. As with most problems in programming, this message is a nuisance but not an insurmountable one.

R Error: package r does not exist

R.java is very important in android application development. It is used to identify all resource data such as id, layout, image, drawable resource, etc. R.java is generated by android studio automatically. But it is sometimes confused for developers to use it. This article will help you to resolve these problems about R.java you may encounter.

1. Where R.java Is Saved At?

  1. R.java is commonly saved at directory like Exampleappbuildgeneratedsourcerdebugcomdev2qaexampleimage.
  2. You can also find it in the android studio left side Project view list like Example/app/build/generated/source/r/debug/com.dev2qa.example.image/R.class.

2. Why Can Not Find R Class In Android Studio?

  1. This is because you select the wrong subview in the android studio Project view. You can change the project view’s subview as following.
  2. Click the ” View —> Tool Windows —> Project ” menu item in the top menu bar.
  3. The above action will show the Project view in the android studio left panel. At the left top in the project view, there is a drop-down list where you can choose the project view’s subview.
  4. Choose Project in subview drop-down list, then you can see all the folders under the current project will be listed at below panel. You can find the R class in the directory tree also. If you choose other subviews, it will display different content of that subview.

3. What Data Is Saved In R.java?

  1. Double click the R.java file, it will display its content in the right panel. The source code includes a lot of int-type variables, each int variable refers to one resource in the current android application.
  2. You can find there are some inner public static final classes defined in R.java also, each inner class represents one kind of resource such as id, layout, string, color, drawable, etc.
  3. You do not need to care about those int variables and their values. And do not edit them also. If you change the value, you may encounter some strange error when building the android project.

4. How To Resolve Package R Dose Not Exist Error?

  1. Sometimes you may encounter strange errors about R.class. Such as package R dost not exist, R can not be resolved as a type. You can fix these errors follow the below steps.
  2. Click ” Build —> Clean Project ” or ” Build —> Rebuild Project ” in the top menu bar in android studio. This will let android studio regenerate R.java again. It will clean the cache and include all newly added resources.
  3. If the above method still does not take effect, you should check your AndroidManifest.xml file carefully. You need to make sure that the package value in the AndroidManifest.xml root XML element matches your activity package.
  4. In my example, the manifest root XML element’s package value is com.dev2qa.example and the launcher activity class is in package com.dev2qa.example.image. So after changing the package value, the error is resolved.
  5. If the error still exists, you should check AndroidManifest.xml carefully to find the potential code that may generate the error. Or you may need to restart android studio or even your computer to fix it 🙂

Join the DZone community and get the full member experience.

Join For Free

R.java plays a vital role in Android application advancement. It is utilized to distinguish all assets’ information; for example, ID, format, picture, drawable assets, and so forth. R.java is produced by the Android Studio. In any case, it is at some point mistaken for a designer to utilize it. This article will assist you in resolving these issues you may be experiencing in R.java.

Where Is R.java Saved?

R.java is commonly saved in a directory like:

Exampleappbuildgeneratedsourcerdebugcomdev2qaexampleimage.

You can also find it in an Android Studio project view list like below:

R.Java directory

Why Can I Not Find the R Class In the Android Studio?

This is a common dilemma because you select the wrong subview in the project view. You can change the project view’s subview, which is demonstrated below:

Click View —> ToolWindows —> Project in the top menu bar.

View - Tool Windows - Project

In the above action, it will show the project view in the left panel. At the top left in the project view, there is a drop-down list where you can choose the project view’s subview.

Drop down list

Choose the project on the subview drop-down list, then you can see all the folders for the current project listed in the bottom panel. You can find the R class in the directory tree also. If you choose another subview, it will display different content of that subview.

What Data Is Saved In R.java?

Double click R.java file. It will display its content in the right panel. The source code includes a lot of int-type variables, and each int variable refers to one resource in the current Android application.

You will find that there are some inner public static final classes defined in R.java also. Each inner class represents one kind of resource, such as ID, layout, string, color, drawable, etc.

Inner public static final classes

You do not need to care about those int variables and their values. Also, you do not need to edit them. If you change the value, you may encounter some strange errors when building the Android project.

How To Resolve the Package R Does Not Exist Error?

Sometimes, you may encounter strange errors about the R.class, like package R dost not exist or R cannot be resolved as a type. You can fix these errors by using the following steps:

R Does Not Exist Error

Click Build —> Clean Project or  Build —> Rebuild Project in the top menu bar of the Android Studio. This will let the Android Studio regenerate R.java again. It will clean the cache and include all newly added resources.

Build Rebuild Project

If the above method still does not take effect, you should check your AndroidManifest.xml file carefully. You need to make sure that the package value in the AndroidManifest.xml root XML element matches your activity package.

Matching package value

In the above picture, the manifest root XML element’s package value is com.dev2qa.example , and the launcher activity class is in the package com.dev2qa.example.image . So, if you change the package value, the error is resolved.

If the error still exists, you should check AndroidManifest.xml carefully to find the potential code that may generate the error. Or, you can restart the Android Studio or even your computer.

R (programming language)
Android Studio
Android (robot)

Opinions expressed by DZone contributors are their own.

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account


Closed

JimReno opened this issue

Sep 23, 2019

· 4 comments


Closed

error: package R does not exist

#125

JimReno opened this issue

Sep 23, 2019

· 4 comments

Assignees

@mgyong

@jiuqiant

Comments

@JimReno

My bazel , android sdk version and os are:

  • bazel version:0.25.0
  • android sdk version 29
  • android ndk version r17c(I used 20 but got hint that 17 is recommed)
  • os: linux ubuntu16.04

When I compile mediapipe on Android Studio, this error occurred:
ERROR: /mediapipe/mediapipe/examples/android/src/java/google/mediapipe/apps/handtrackinggpu/BUILD:64:1: Couldn't build file mediapipe/examples/android/src/java/google/mediapipe/apps/handtrackinggpu/libmediapipe_lib.jar: Building mediapipe/examples/android/src/java/google/mediapipe/apps/handtrackinggpu/libmediapipe_lib.jar (1 source file) failed (Exit 1) mediapipe/examples/android/src/java/google/mediapipe/apps/handtrackinggpu/MainActivity.java:74: error: package R does not exist setContentView(R.layout.activity_main);

I followed the instruction. This issue came out when I was on the step 7.

Some warnings occurred are listed below:

  • during the Sync: INFO: From ProtoCompile mediapipe/calculators/util/thresholding_calculator.pb.h [for host]: bazel-out/host/bin/external/com_google_protobuf/src: warning: directory does not exist.
  • After the Sync: Updating in-memory state... Could not read from manifest file: /home/nd/workspace/zjc/mediapipe/AndroidManifest.xml Sync finished

@jiuqiant

We never encountered such issue before. Here are my thoughts:

  • Can you do a bazel clean --expunge and retry?
  • Can you delete /home/nd/workspace/zjc/mediapipe/AndroidManifest.xml to see if that helps?
  • Can you add import android.R.layout; to handtrackinggpu/MainActivity.java to see if that solves the problem?

@jiuqiant

Closing due to lack of recent activity.

@khushmanvar

Hey, @jiuqiant , I am still facing this issue can you help me to resolve this, even after importing android.R.layout?

@GoComputing

Hello @khushmanvar, I know I’m two years later, but for people that issued the same problem.

I just discovered that your application (for example, com/google/mediapipe/basic) must be inside a ‘java’ folder (for the example, the directory looks like java/com/google/mediapipe/basic).

I hope it helps.

Я получаю ужасный пакет R не существует, это убивает меня. С кодом все в порядке. У меня есть приложения на рынке, использующие этот код.

Теперь это просто webview Приложения. о.0

R.string.app_name ошибся мой main.xml и string.xml Это хорошо. Я ооочень запутался.

Я заново открыл старую версию, чтобы "borrow" какой-то код, и он был залит R. errors. Я сделал чистую и ничего не изменилось, кроме импорта R.android добавляется вверху.

Я даже загрузился в Netbeans и получил то же самое. Чистый не работает. Могу ли я написать R.java подать себя?

Что это R вещь? не R. должно соответствовать R.java

30 ответы

Для тех, кто столкнулся с этим, я провел рефакторинг, переименовав папки пространства имен. Я просто забыл также отредактировать AndroidManifest, и поэтому я получил эту ошибку.

Обязательно проверьте и это.

Создан 02 фев.

Просто чтобы сделать это просто:

import your.app.package.R;

Конечно, заменив your.app.package с вашим пакетом приложений.

Во всех классах, использующих ссылки на ресурсы R, удаление любой другой import с .Rт.е. import android.R;

ответ дан 02 апр.

TL, д-р, если вы получаете сообщение об ошибке «пакет R не существует», возможные причины:

  • некоторая ошибка в файлах ресурсов XML
    -> исправить ошибки XML
  • текущий пакет отличается от R пакет (см. package
    атрибут в AndroidManifest.xml)
    -> импорт R класс, например import com.example.android.R;
    -> или используйте соответствующий пакет в вашем источнике, например package com.example.android;
    -> или изменить пакет атрибут в AndroidManifest.xml для
    <manifest xmlns:android="..." package="com.example.android" ...>, если это уместно
  • использованный R идентификаторы взяты из системных ресурсов
    -> не импортировать android.R, но добавьте к идентификаторам нарушения префикс android., например android.R.layout.simple_list_item_2
    Вы можете импортировать android.R вместо префикса идентификаторов, конечно, но тогда вы не можете импортировать приложение R class больше и должен префикс идентификаторов приложений, например com.example.android.R.id.main_menu.

Компания R класс генерируется автоматически из ресурсов приложения. Он содержит ids для этих ресурсов и содержится в пакете, названном в
<manifest>
тег в соответствующем AndroidManifest.xml .

Если в XML-файлах ресурсов нет ошибок, R.java исходный код будет сгенерирован в подкаталоге пакета ниже gen/ и скомпилировано.


Существует еще одна R класс, расположенный в android упаковка. Этот android.R class содержит несколько вложенных классов, которые, в свою очередь, содержат idс и другие значения для система Ресурсы.


Чтобы использовать класс в Java, вы должны назвать класс со всем пакетом, например

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

или импортируйте класс, а затем используйте его без пакета

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

Вы также можете использовать класс без именования пакета, если и текущий класс, и используемый класс находятся в одном пакете, например

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

Создан 18 фев.

Никогда, никогда не пытайтесь написать класс R самостоятельно!

Вы импортировали правильный класс R в свои файлы?

дела

import android.R;

вместо

import com.example.R;

видимо проблема у многих. После очистки и сборки мои классы иногда импортируют не тот.

ответ дан 20 окт ’12, 08:10

если вы разрабатываете в студии Android и реорганизовали имя пакета, вам следует изменить имя пакета в манифесте Android и файле приложения gradle.

 applicationId "change here your package name"

и в файле манифеста

 package="change here your package name"

ответ дан 28 дек ’15, 04:12

R.java — это автоматически сгенерированный файл, он обычно не компилируется, если у вас есть ошибки в файле xml.

Нет. Вы не можете написать свой собственный файл R.java, он должен быть сгенерирован компилятором ресурсов.

Проверьте наличие ошибок во всех ваших XML-файлах.

ответ дан 20 окт ’12, 08:10

Вроде раньше работало, а сейчас нет..

Это может произойти, если вы измените имя ПАКЕТА в файле МАНИФЕСТА.

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

Если вы хотите изменить имя пакета

  1. Измените имя пакета вручную в файле манифеста.
  2. Щелкните свой класс R.java и нажмите F6. Это позволит вам переместить класс в другой пакет, и все ссылки на этот класс будут обновлены.

Создан 06 фев.

Класс R это Java-код, автоматически сгенерированный из ваших XML-файлов (макет пользовательского интерфейса, строки интернационализации и т. д.). Если код раньше работал (как кажется), вам нужно указать вашей IDE каким-то образом регенерировать эти файлы:

  • в IntelliJ выберите «Инструменты» > «Android» > «Создать источники для
  • (Если вы знаете, как это сделать в другой среде IDE, не стесняйтесь редактировать этот ответ!)

ответ дан 23 мая ’17, 13:05

Я только что столкнулся с этой ошибкой при использовании Bazel для создания приложения для Android:

error: package R does not exist
                + mContext.getString(R.string.common_string),
                                      ^
Target //libraries/common:common_paidRelease failed to build
Use --verbose_failures to see the command lines of failed build steps.

Убедитесь, что ваш android_library/android_binary использует AndroidManifest.xml с правильным package= атрибут, и если вы используете custom_package атрибут на android_library or android_binary, убедитесь, что оно написано правильно.

Создан 15 июля ’18, 23:07

Это может произойти при использовании R в подпакетах Пример:

ком.пример; // — пакет приложения и основные ресурсы сопоставлены с пакетом приложения

com.example.order; // -подпакет

в подпакете, если вам нужно получить доступ к ресурсу, например,

R.Layout.orderLayout — здесь R будет недоступен.

Чтобы решить эту проблему, вы должны импортировать R из основного пакета. т.е. Для файлов в папке/пакете com.example.order вы должны импортировать

пакет com.example.order import com.example.R;

ответ дан 06 мар ’21, в 04:03

Удалить импорт android.R; из всех файлов.. один раз очистите проект и создайте проект…. Он сгенерирует

ответ дан 20 окт ’12, 08:10

Образец: Мой пакет com.example.mypc.f01, чтобы исправить ошибку, вы добавляете строку ниже в Activity:

import com.example.mypc.f01.R;

Создан 28 фев.

Ниже приведены некоторые методы, которые вы можете использовать для удаления этой ошибки:

  1. Очистите свой проект, Buidl->clean Project
  2. Перестроить проект, Сборка -> Перестроить проект
  3. Откройте манифест и проверьте, отсутствует ли какой-либо ресурс
  4. Макет регистрации для определенного идентификатора, если он отсутствует, добавьте его
  5. Если вышеуказанные шаги не сработали, перезапустите студию Android с аннулированием кеша.

Создан 27 ноя.

В моем случае я понял, что создаю несколько пакетов в проекте. В манифесте Android я обнаружил, что имя поставщика неправильно содержит значение MyContentProvider вместо .provider.MyContentProvider. Мой основной пакет (с пользовательским интерфейсом) был co.companyname.database.provider вместо co.companyname.database.

Затем на операторах импорта для затронутого класса я просто щелкнул правой кнопкой мыши и попросил Android Studio (0.8.6) оптимизировать мои операторы импорта. Я также отметил, что если вы ищете .R в строке поиска AS в правом верхнем углу IDE, вы можете найти автоматически сгенерированный файл R.java, который является частью вашего пакета. На этом этапе вам не нужно ничего менять. Студия должна исправить проект после того, как вы исправите файл манифеста Android и перестроите его.

Еще один момент заключается в том, что в одном классе я использовал toString().length() для оценки строки, но заменил их на TextUtils.IsEmpty(stringVal); Не могу думать ни о чем другом, что я сделал, чтобы решить проблему.

Надеюсь, это поможет кому-то.

NB — все это с AS 0.8.6

PS

R.java генерируется автоматически, поэтому прочитайте заголовок: /* АВТОМАТИЧЕСКИ СОЗДАВАЕМЫЙ ФАЙЛ. НЕ ИЗМЕНЯТЬ. * * Этот класс был автоматически сгенерирован * инструментом aapt из найденных им данных ресурсов. Это * не должно быть изменено вручную. */

ответ дан 24 авг.

Когда я столкнулся с этим, я создал новый проект и скопировал файлы из своего старого проекта в новый.

  1. Начать новый проект
  2. Добавьте старые файлы в новый проект (скопируйте и щелкните правой кнопкой мыши Layout, drawables, com.packagename,…), чтобы вставить файлы моих старых проектов.

Однако у меня все еще была та же проблема: R does not exist. Затем я понял, что скопировал и вставил манифест из своего блокнота в манифесты Android Studio и не изменил имя пакета в файле манифеста.

Поэтому, как только я изменил имя пакета в манифесте на новое имя проекта, новый проект, который я создал, работал нормально.

ответ дан 17 дек ’14, 17:12

Ниже работают для меня.

  1. In AndroidManifest.xml файл, проверьте, правильно ли введено имя пакета.
  2. импортировать com.example.appName.R; (импорт пакета _name.R;)

Если первый шаг не сработал, попробуйте второй.

ответ дан 16 авг.

Вот как я решил это после нескольких неудачных попыток Сборка -> Чистый проект последующей Сборка -> Перестроить проект

Шаг 0 : Убедитесь, что имя пакета указано правильно. AndroidManifest.xml
в моем случае это было

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myproject"> 

Шаг 1
Поместите курсор перед мой проект и нажмите Shift + F6 -> Переименовать пакет -> Дайте имя новому пакету и под Объем выберите Все места -> Рефакторинг

Шаг 2: Отключить автоматический импорт

Для Windows это Файл -> Настройки -> Редактор -> Общие -> Автоимпорт

Под Java

снимите флажок Добавить однозначный импорт на лету

снимите флажок Оптимизировать импорт на лету

Применить и сохранить

Шаг 3: Очистить и восстановить
Сборка -> Чистый проект последующей Сборка -> Перестроить проект

Теперь, когда вы получаете сообщение об ошибке во время сборки. Откройте файл, в котором говорится, что R.java отсутствует или не может найти класс «R».

Шаг 4:
Откройте файл и перейдите в раздел его импорта в коде и добавьте вручную импортировать com.example.myproject.R;

Повторите то же самое для всех файлов, упомянутых в разделе сборки, в котором есть эта ошибка.

Очистите и восстановите, и вы готовы к работе!

ответ дан 20 окт ’21, 18:10

Какие файлы вы импортируете в файлы с ошибкой R?

Насколько я понимаю файл R, они автоматически генерируют списки ссылок на все атрибуты в приложении Android. Поэтому вы не можете изменить его самостоятельно.

Вы используете Eclipse для создания этого проекта? Были ли эти ошибки в старых проектах до обновления Eclipse? Какие ссылки получают ошибки?

Убедитесь, что вы не импортировали другой файл R из другого скопированного кода в другом приложении.

ответ дан 22 окт ’12, 06:10

Я сталкиваюсь с этой проблемой каждый раз, когда переключаю компьютеры и пытаюсь импортировать старые проекты из файлов, переданных через USB.

Мой обходной путь — просто создать новый проект, скопировать (перетащить) файлы в IDE (в настоящее время с использованием Netbeans) и перестроить. Это раздражает и немного хакерское решение, но оно устраняет проблему.

Если это произойдет с вами, в худшем случае вам, возможно, придется сделать резервную копию ваших файлов, удалить проект и просто перетащить туда файлы и перекомпилировать. Надеюсь, до этого не дойдет, но это будет ваш ядерный вариант.

ответ дан 31 мая ’16, 03:05

Вы можете попробовать

Верхнее меню Android Studio > Файл > Недействительные кеши/перезапуск…

Нажмите кнопку аннулирования кеша/перезапуска, чтобы перезапустить проект.

Разрешите R.xxxx.xxx снова, если какой-то из классов фрагментов R не разрешится должным образом.

затем перестройте свой проект

Надеюсь, поможет

ответ дан 09 дек ’16, 15:12

Только что избавился от ошибки в моем проекте. Я импортировал образец проекта, я изменил папки пакета, но не обновил пакет в одном из java-файлов.

Наиболее вероятной причиной этой ошибки «пакет R не существует» является неправильное имя пакета в Java или файле манифеста. Убедитесь, что это правильно и синхронизировано, а затем выполните чистую сборку.

Создан 18 июля ’17, 15:07

Эта ошибка на 100% связана с ошибкой в ​​файле xml. Вы можете проверить эту конкретную ошибку в Logcat-> error. а потом решить это. Если ошибка xml устранена, приложение запустится. В основном это возникает, когда вы копируете код из другого источника. В моем случае была ошибка в кнопке в файле xml. Я неправильно набрал кнопку. Если вы решите эту ошибку, ваше приложение будет работать без сбоев. Если все же он показывает эту ошибку, не беспокойтесь и двигайтесь вперед.

ответ дан 11 апр.

После обновления до AGP 7.2:

Для бедолаг, обновившихся до AGP 7.2 (стабильная версия!!):

  • Помощник по обновлению AGP удалит package имя из манифеста
  • Он больше не нужен, так как он будет только в файле градиента.
  • Но зависимость SafeArgs по-прежнему не понимает этого правильно.. (ссылке)

Надеюсь, вы потратите меньше часов, чем я.. 🙂

ответ дан 05 апр.

наконец нашел решение.

  1. Перейдите в Файл>Недействительные кеши
  2. Теперь «Проверьте» Очистить кеш файловой системы и локальную историю & Очистить кеши журнала VCS и индекс
  3. Теперь нажмите на «ОТМЕНИТЬ И ПЕРЕЗАПУСТИТЬ«

ответ дан 11 мая ’22, 20:05

Если вы столкнулись с этой ошибкой в ​​Android Studio:

Проверьте файл (ы) модуля Gradle -> defaultConfig -> параметр applicationId.

Проверьте тег пакета AndroidManifest.xml -> manifest.

Проверьте объявления пакетов во всех java-файлах src.

Синхронизируйте, очистите, затем перестройте с помощью Gradle.

НИКОГДА не создавайте свой собственный файл R. R автоматически генерируется из ваших исходных java-файлов и настроек сборки.

ответ дан 18 авг.

У меня было: «ошибка: пакет R не существует», и я предположил, что у javac нет доступа к R.java.
Поэтому я добавил %PROJ_LOC%gen к исходному пути, и это сработало! ИСТОЧНИКПУТЬ=%PROJ_LOC%src;%PROJ_LOC%gen

Я не использую Android Studio или Ant (или XML).

ответ дан 25 окт ’16, 15:10

Если эта ошибка появилась после разрешения конфликтов слияния, может помочь простой проект Build -> Clean.

ответ дан 17 апр.

Иногда это решается, когда вы просто повторно импортируете проект в Android Studio.

Создан 08 сен.

Неправильный путь: проект «обналичивает» указатели на изображения и, если вы внесли изменения в имя пути, например, рефакторинг пакета или папок. Затем просто снова напишите букву R, и редактор предложит правильный путь, и он сработает. В этом случае ваши имена файлов верны, и содержимое, на которое ссылается указатель R., присутствует, но путь неверен, поэтому очистка и сборка не будут работать.

Создан 11 фев.

Еще один случай R. поломка Обработка аннотаций.

Некоторая обработка может относиться к классам, расположенным в определенных папках или на определенных уровнях папок. Если вы переместите необходимые классы в другое место, вы можете получить R. как неизвестный класс.

К сожалению, указатель ошибки на эту проблему не очевиден в Android Studio.

ответ дан 05 мар ’18, в 09:03

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

android

or задайте свой вопрос.

Я пытаюсь построить проект Android с Gradle из командной строки, но обнаружил проблему, когда хочу изменить структуру каталогов.

В настоящее время выглядит так:

.
└── main
    ├── AndroidManifest.xml
    ├── ic_launcher-web.png
    ├── java
    │   └── com 
    │       └── myproject
    │           └── MainActivity.java
    └── res 
        ├── ... 
        ├── layout
        │   ├── activity_main.xml
        │   └── fragment_main.xml
        ├── ... 
        ...

Затем я выполняю:

./gradlew clean build

Это заканчивается на:

BUILD SUCCESSFUL

Ok. Все в порядке. Но теперь я хочу создать новый каталог, поэтому:

Я создаю каталог ui и передвигаю MainActivity.java там:

.
└── main
    ├── AndroidManifest.xml
    ├── ic_launcher-web.png
    ├── java
    │   └── com
    │       └── myproject
    │           └── ui
    │               └── MainActivity.java
    └── res
        ├── ...
        ├── layout
        │   ├── activity_main.xml
        │   └── fragment_main.xml
        ├── ...
        ...

Измените свой пакет:

package com.myproject.ui;

// imports

public class MainActivity extends ActionBarActivity {
    ...
}

Измените его атрибут android:name в AndroidManifest.xml:

<activity 
    android:name=".ui.MainActivity" 
    android:label="@string/app_name" >
    ...
</activity>

И попробуйте снова скомпилировать его:

./gradlew clean build

Со следующими ошибками:

/home/birei/MyDummyProject/MyProject/src/main/java/com/myproject/ui/MainActivity.java:19: error: package R does not exist
        setContentView(R.layout.activity_main);
                        ^
/home/birei/MyDummyProject/MyProject/src/main/java/com/myproject/ui/MainActivity.java:23: error: package R does not exist
                    .add(R.id.container, new PlaceholderFragment())
                          ^
/home/birei/MyDummyProject/MyProject/src/main/java/com/myproject/ui/MainActivity.java:33: error: package R does not exist
        getMenuInflater().inflate(R.menu.main, menu);
                                   ^
/home/birei/MyDummyProject/MyProject/src/main/java/com/myproject/ui/MainActivity.java:43: error: package R does not exist
        if (id == R.id.action_settings) {
                   ^
/home/birei/MyDummyProject/MyProject/src/main/java/com/myproject/ui/MainActivity.java:60: error: package R does not exist
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);

BUILD FAILED

Что я делаю неправильно? Любые идеи?

Спасибо.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Pack sol ошибка 03
  • Pack file manager ошибка