Где находится файл R.java в Android Studio? Может ли кто-нибудь помочь с этим? Я уже пробовал Google для ответа, но не могу найти никакого решения.
Где находится файл R.java в Android Studio?
Ответы (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) Прокрутите вниз до фактического идентификатора, чтобы посмотреть его номер
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
not_namespaced_r_class_sources
- person gmk57; 05.03.2020
Хотя текущий плагин Android Gradle больше не генерирует R.java
, вы все равно можете проверить соответствующий файл класса (см. ответ Сергея В.).
Однако, если вы (как, вероятно, в большинстве случаев) просто хотите найти сгенерированные идентификаторы для ваших ресурсов, есть более простой способ:
На панели проекта слева переключитесь с вида Android на вид Проект, используя раскрывающийся список вверху. Затем перейдите к app/build/intermediates/runtime_symbol_list/<insert build type here>/R.txt
. В этом файле перечислены все идентификаторы, сгенерированные AGP в процессе сборки.
int drawable bonus_item 0x7f0800f1
.
- person CoolMind; 23.09.2020
Я использую Android Studio 2.3.3. Файл R.java
показан на картинке выше.
В левой верхней части есть список выбора. Выберите опцию [project]
, чтобы увидеть все папки и файлы.
Как отмечалось выше, новый плагин 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
.
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
Я использую Android Studio 2.2.3, файл R.java показан на рисунке ниже. Goto в левой верхней части есть список выбора,
- выберите [пакет]
- Откройте «Папку приложений»
- com.example.saeedanwar.myapplication;
- r
Он находится внутри папки app\build\generated\source\r
Если вы используете 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
Проект/приложение/сборка/сгенерированный/источник/r/debug/com.android.'projectname'/R.java
-- R.Java, который содержит ваши XML-макеты и идентификаторы представлений в Android Studio 3.5.3 -- Project/app/build/generated/not_namespaced_r_class_sources/debug/r/com/"your package"/R.java