Где находится файл R.java в Android Studio?

Где находится файл R.java в Android Studio? Может ли кто-нибудь помочь с этим? Я уже пробовал Google для ответа, но не могу найти никакого решения.


person TheChessDoctor    schedule 15.02.2015    source источник
comment
Все, что вам нужно сделать, это нажать R., чтобы увидеть предложения автозаполнения.   -  person adinutzyc21    schedule 15.02.2015


Ответы (12)


На основе новой стабильной версии Android Studio (3.6) у нас есть: введите здесь описание изображения

Итак, теперь, чтобы найти сгенерированные классы ресурсов, вам нужно выполнить следующие шаги:

1) Откройте свой проект.

2) Перейдите к пути сборки вашего модуля.

3) Откройте файл outputs/apk/debug/app-name-debug.apk.

4) Выберите файл class.dex.

5) Посмотрите на расположенную внизу область и перейдите к полному пути к пакету.

6) Вы можете увидеть все классы ресурсов с байт-кодом. Итак, прокрутите вниз до того, что вы ищете.

введите описание изображения здесь

7) Разверните класс ресурсов, который вам нужен для продолжения (например, пусть это будет R.id)

введите описание изображения здесь

8) Перейти к вашему идентификатору.

введите описание изображения здесь

Вот и все.

ОБНОВЛЕНИЕ:

Если вы хотите увидеть фактическое целое число идентификатора, вы должны выполнить следующие шаги:

1) С помощью (7) перейдите к классу ресурсов, который вам нужно продолжить, и щелкните правой кнопкой мыши, чтобы открыть контекстное меню

2) Выберите "Показать байт-код", чтобы увидеть гибкое диалоговое окно "Байт-код DEX для R$id", например, для класса id

введите описание изображения здесь

3) Прокрутите вниз до фактического идентификатора, чтобы посмотреть его номер

введите описание изображения здесь

person Sergey V.    schedule 07.04.2020
comment
Это правильный ответ в 2020 году (Android Studio 3.6), но как я могу прочитать фактический идентификатор? как button17 = 52444873 ? - person Karol Żygłowicz; 08.04.2020
comment
если кому-то интересно: новый плагин Android Gradle генерирует соответствующий байт-код напрямую и не создает промежуточный файл R.java. форумы. bignerdranch.com/t/ - person bomben; 12.04.2020
comment
Также обратите внимание на classes2.dex и classes3.dex вашего пакета. Если вы будете искать id, возможно, вы его там не найдете, потому что он может принадлежать другому пакету. См. stackoverflow.com/a/61277205/2914140 для короткого пути. - person CoolMind; 23.09.2020

Я использую Android Studio 3.3.2

\app\build\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\android\support\constraint\R.java

введите здесь описание изображения

person OulinaArt    schedule 11.03.2019
comment
Правильно, большое спасибо. Кстати, я использую AS 3.5.2. - person aolphn; 27.11.2019
comment
В AS 3.6.1 нет папки not_namespaced_r_class_sources - person gmk57; 05.03.2020
comment
@ gmk57 Посмотрите ответ Сергея В. здесь. - person bomben; 12.04.2020

Хотя текущий плагин Android Gradle больше не генерирует R.java, вы все равно можете проверить соответствующий файл класса (см. ответ Сергея В.).

Однако, если вы (как, вероятно, в большинстве случаев) просто хотите найти сгенерированные идентификаторы для ваших ресурсов, есть более простой способ:

На панели проекта слева переключитесь с вида Android на вид Проект, используя раскрывающийся список вверху. Затем перейдите к app/build/intermediates/runtime_symbol_list/<insert build type here>/R.txt. В этом файле перечислены все идентификаторы, сгенерированные AGP в процессе сборки.

person ubuntudroid    schedule 17.04.2020
comment
Спасибо! Правильный ответ. Это будет выглядеть как int drawable bonus_item 0x7f0800f1. - person CoolMind; 23.09.2020

//Картинка

Я использую Android Studio 2.3.3. Файл R.java показан на картинке выше.

В левой верхней части есть список выбора. Выберите опцию [project], чтобы увидеть все папки и файлы.

person Niamatullah Bakhshi    schedule 03.08.2017
comment
Мне жаль ОП. Я серьезно сомневаюсь, что он / она просил скриншот фактического файла R. Ответ также должен четко объяснять, как он генерируется. - person Rakib; 03.01.2019

Как отмечалось выше, новый плагин Android Gradle напрямую генерирует соответствующий байт-код и не создает промежуточный файл R.java.

Используя решение ubuntudroid, вы также можете найти id таким образом. Найдите R.txt и скопируйте абсолютный путь. Проект › приложение › сборка › промежуточные продукты › runtime_symbol_list › отладка › R.txt. Затем щелкните правой кнопкой мыши и выберите Copy Path..., 1. Absolute Path Ctrl+Shift+C.

введите здесь описание изображения

Таким образом вы получите путь к R.txt, например, C:\Users\user\AndroidStudioProjects\your_project\app\build\intermediates\runtime_symbol_list\debug\R.txt. Скопируйте путь без R.txt в текстовый файл для будущих ссылок, например, с помощью Notepad++.

Нажмите Ctrl+Shift+F, чтобы найти в каталоге. Вставьте id и путь.

введите здесь описание изображения

== Старый ответ ==

Измените вид проекта с Android на Project или Project Files. Найдите один из этих двух файлов.

введите здесь описание изображения

Затем вы можете вернуться к виду Android.

person CoolMind    schedule 29.08.2019

R.java — это файл, сгенерированный ADT или студией Android. Он будет расположен в каталоге app\build\generated\source\r.

./app/build/generated/source/r/debug/android/support/v7/appcompat/R.java
./app/build/generated/source/r/debug/your/packagename/name/R.java
person alijandro    schedule 15.02.2015

Я использую Android Studio 2.2.3, файл R.java показан на рисунке ниже. Goto в левой верхней части есть список выбора,

  1. выберите [пакет]
  2. Откройте «Папку приложений»
  3. com.example.saeedanwar.myapplication;
  4. r

скриншот

person Engr Saeed Anwar    schedule 03.11.2017

Он находится внутри папки app\build\generated\source\r

person Belal Khan    schedule 15.02.2015

  1. В моем проекте в Android Studio 4.1 введите здесь описание изображения

  2. R.jar, который вы можете разархивировать, находится в папке сборки приложения следующим образом:

    jar -xf R.jar

введите здесь описание изображения

  1. После распаковки jar вы можете найти R.java внутри пакета приложения: введите здесь описание изображения
person AlexPes    schedule 27.10.2020

Если вы используете Mac или Linux, попробуйте следующую командную строку на своем терминале:

find . -name "R.*"

Он напечатает что-то вроде:

./app/build/intermediaries/runtime_symbol_list/debug/R.txt
./app/build/intermediaries/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar
person Anggrayudi H    schedule 16.02.2021

Проект/приложение/сборка/сгенерированный/источник/r/debug/com.android.'projectname'/R.java

person Shubhamhackz    schedule 23.01.2017

-- R.Java, который содержит ваши XML-макеты и идентификаторы представлений в Android Studio 3.5.3 -- Project/app/build/generated/not_namespaced_r_class_sources/debug/r/com/"your package"/R.java

person Bad0    schedule 21.01.2020