Что такое r в android studio

Обновлено: 07.07.2024

В каждом случае во всех моих классах, где я R.id.something на R.id.something , R находится в красном цвете и говорит, что "не может разрешить символ R". Также каждый раз, когда есть R.layout.something он подчеркивается красным цветом и говорит: "Невозможно разрешить метод setContentView (?)". Проект всегда строит отлично. Это раздражает видеть это все время. Я прочитал много других вопросов здесь о чем-то подобном, но чаще всего участвовал в импорте проектов из Eclipse. Я использую то, что, по моему мнению, является самой последней версией Android Studio, и проект был создан с помощью Android Studio и работал без каких-либо проблем "не разрешить R". Я хотел бы знать, что вызывает это, если кто-нибудь знает.

спросил(а) 2013-06-12T00:18:00+04:00 8 лет, 5 месяцев назад

У меня тоже была эта проблема. Простой "градиентный чист" и "градвайная сборка" сделали трюк.

Нажмите Сборка- > Очистить проект и выполните gradle clean

В последних версиях Android Studio, по крайней мере для меня, следующие работы:

"Инструменты" → "Android" → "Sync Project with Gradle Files"

В последней версии Android Studio 3.1.3 (июль 2018 года) в основной строке меню доступен "Sync Project with Gradle Files".

enter image description here

Я использовал Gradle 3.3.0. Это был главный виновник. Потрачено впустую 6,50 часов из моей жизни. Gradle 3.2.1 устранил ошибку.

Проблема решена после изменения версии Gradle. Подробности истории можно найти здесь.

ответил(а) 2019-01-21T12:05:00+03:00 2 года, 10 месяцев назад

У меня есть аналогичная проблема, и вот что я сделал:

чистый проект и проект синхронизации с Gradle,

enter image description here

enter image description here

проверить версию buildTools в моем sdk

Из сборки Gradle (модуль) изменить minSdkVersion от 8 до 9

Но все это не помогло.

Наконец, я нашел ответ (это сработало в моем случае)

Изменить с build.gradle(module: app)

выберите Файл | Изменение структуры проекта Build Tools Version to 21.1.1

enter image description here

ответил(а) 2015-05-03T18:11:00+03:00 6 лет, 6 месяцев назад

Например, у меня была запись в strings.xml :

И в activity_main.xml я использовал эту строковую запись

Пока я работал с проектом, я удалил это

И, следовательно, activity_main.xml стал недействительным. В результате: невозможно разрешить R.

Итак, проверьте ваши файлы *.xml и очистите проект.

ответил(а) 2015-03-11T01:12:00+03:00 6 лет, 8 месяцев назад

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

Таким образом, вы пытаетесь очистить, но это не работает.

И перезапуск тоже не работает.

Но попробуйте File → Invalidate Caches/Restart. → Invalidate and Restart

Android Studio поддерживает информацию о том, какие файлы зависят от других файлов. И поскольку перемещение файлов вокруг не выполняется правильно, перемещение файлов вызывает ошибки. И это не все: кеши этих зависимостей используются в попытке ускорить сборку.

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

Кажется, что в этой проблеме много причин. Недавно я добавил активность для тестирования с помощью метода NewActivity. Это создало файл с именем res/menu/new.xml и gradle не понравилось это имя, потому что new является зарезервированным словом.

"Tools" -> "Android" -> "Sync Project with Gradle Files"


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

ответил(а) 2013-12-03T05:39:00+04:00 7 лет, 11 месяцев назад

Я думаю, что если вы поместите файлы своих действий в другую папку, кроме стандартной. Вам нужно импортировать файл com.example.yourproject.R(это ваш файл проекта R файла NOT Android.R) для ВСЕХ действий с использованием R. Например, в файле MainActivity вставьте эту строку:

ответил(а) 2014-03-12T10:40:00+04:00 7 лет, 8 месяцев назад

Ваш код просто скремблирован. Ответ довольно прост.

Just go to **Build** --> **Clean Project**.

Это должно делать свое дело.

В настоящее время я использую Android Studio 3.0.1.

ответил(а) 2017-12-21T12:01:00+03:00 3 года, 11 месяцев назад

Брат, файл R.java содержит ссылку между xml и java-страницей. "R не может быть разрешено" возникают только в том случае, если есть проблемы с некоторыми вашими файлами ресурсов. Таким образом, лучший и эффективный способ - удалить последний сделанный xml или извлечь в res файле. и затем снова начать оттуда в соответствии с нормами кодирования Android. Это единственный способ. Эффективный и правильный путь.

Также используйте Git для правильного отслеживания кода.

ответил(а) 2014-04-03T06:43:00+04:00 7 лет, 7 месяцев назад

Недавно вы обновили свои инструменты SDK? Запустите менеджер Android SDK и убедитесь, что у вас есть последние инструменты SDK, которые теперь отделены от инструментов платформы. У меня была такая же проблема, когда я впервые обновил свой менеджер SDK, пакет инструментов SDK для сборки не отображался для установки/обновления, пока я не закрыл и не открыл диспетчер SDK.

ответил(а) 2013-06-12T00:45:00+04:00 8 лет, 5 месяцев назад

enter image description here

Просто очистите проект и проект синхронизации с помощью файла Gradle.

И проблема будет решена.

ответил(а) 2015-01-16T16:45:00+03:00 6 лет, 10 месяцев назад

У меня недавно была эта проблема, и чистая/сборка и т.д. не разрешала ее. Я догадался, что у меня была проблема, но не была уверена, где искать ее (это было в манифесте, XML файлах ресурсов и т.д.?).

Когда что-то не так, вы можете узнать, что это такое, выполнив прогон кода.

В меню в верхней части выберите:

Анализ → Проверьте код, отсканируйте весь проект, используя профиль "По умолчанию".

Ваши результаты проверки будут содержать элемент под названием "Android". Здесь вы получите список всего, что вызывает проблемы в ваших ресурсах и файл манифеста. Ошибки откроют сгенерированные файлы xml из вашей сборки, которые будут показывать любые ошибки в красном.

Моя конкретная проблема была вызвана тем, что я использовал файлы манифеста, основанные на вкусах, и я скопировал некоторые разрешения внутри тега <application> в аромате случайно.

Проверка

ОБНОВЛЕНИЕ: У меня возникла проблема после того, как Android Studio по-прежнему обнаружила ошибку после исправления, хотя теперь я мог строить и работать отлично, пока ошибка все еще была. (Я запускаю канареечную сборку, так что до сих пор это доводилось до конца)

ответил(а) 2015-12-03T15:44:00+03:00 5 лет, 11 месяцев назад
    Установите правильную структуру package папки <manifest> в AndroidManifest.xml .
    Задайте новое расположение пакета для android:name <activity> в AndroidManifest.xml .
    Очистить кеш

Меню файла → Недействительный кеш/перезапуск.


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

ответил(а) 2017-06-15T13:38:00+03:00 4 года, 5 месяцев назад

Просто перейдите в список Android Top Menu. нажмите "Меню сборки", в разделе "Построить" нажмите " Восстановить проект".

enter image description here

ответил(а) 2016-03-29T09:35:00+03:00 5 лет, 7 месяцев назад

У меня было это с

    Записная буква в моих доступных ресурсах.
    Импорт Android.R, добавленный в Android Studio (или Eclipse)
    Ошибка в файле xml

У меня есть специальный случай для этой проблемы.

В моем проекте все идет хорошо, он может скомпилироваться и успешно работать, но в моей среде Android Studio IDE (и я также попытался использовать интеллектуальную IDEA, они находятся в одной ситуации), файл R.java не может быть успешно разрешен и всегда падение красной линии.

Это почти сошло с ума, я не могу переносить цвет, когда я программирую.

Наконец-то я обнаружил, что эта сложная проблема возникает из-за моего размера файла R.java. Мой проект очень большой, он поддерживает множество многоязычных и многоэкранных размеров. Есть так много ресурсов, что размер файла R.java составляет около 2.5M.

Максимальный размер файла в Android Studio составляет 2,5 М в настройках по умолчанию, поэтому файлы, превышающие этот предел, не могут быть решены хорошо. И вы можете изменить настройки по умолчанию в "AndroidStudio-root/bin/idea.properties".

измените эту строку:

Затем перезапустите студию Android, красный цвет уволен, я могу снова запрограммировать программу.

Это очень старый вопрос, но он все еще случается очень много, и здесь нет полного ответа.

У меня была эта проблема больше раз, чем я хочу признать. Это может быть вызвано множеством проблем, которые в основном связаны с вашей структурой проекта, не соответствующей ожидаемому. Вот список всех проблем, которые у меня были:

Импорт из Eclipse в Android Studio не всегда работает плавно, особенно в старых версиях Android Studio. Убедитесь, что вы используете правильное дерево каталогов. Он должен выглядеть следующим образом: для умеренно зрелого приложения:

Особенно, если вы когда-либо меняете имя своего приложения, вам необходимо убедиться, что исходное дерево main/java/com/domain/AppName обновлено. Также убедитесь, что тег пакета в вашем AndroidManifest.xml верен.

Если в ваших файлах Gradle или вашем AndroidManifest.xml есть ошибки, это предотвратит правильное создание файлов ресурсов Android. Gradle файлы могут быть повреждены путем обновления Android Studio иногда, особенно из версий до версии 1.0. Иногда это происходит потому, что он перестает поддерживать более старые версии плагина Gradle, поэтому вам нужно обновить номера версий. Иногда бывает трудно найти, что такое текущие версии. На сегодняшний день, 7/17/15, мои приложения компилируются с помощью com.android.tools.build:gradle:1.2.3 . Это находится в блоке зависимостей в самом внешнем файле Gradle,

Если ваш AndroidManifest ссылается на несуществующий ресурс или ресурс, который может быть нарисован или строб, он будет разбит и вызовет эту ошибку. Иногда, если что-либо ссылается на несуществующий ресурс drawable или string, вы получите эту ошибку.

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

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

Если у вас есть два ресурса xml с тем же именем, в каталогах, которые не переопределяют друг друга, вы можете столкнуться с этой проблемой. Например, вы можете иметь одно и то же имя в drawable-mhdpi и drawable-xhdpi, потому что они переопределяют друг друга в зависимости от целевого устройства, но если у вас есть одно и то же имя в макете и в меню, это вызовет проблему. Переименуйте или удалите один из файлов.

Если только некоторые ресурсы имеют эту проблему, эти ресурсы, скорее всего, находятся в неправильном каталоге.

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

В одном случае я переместил весь проект в другой каталог и повторно импортировал его в качестве нового проекта. Я не знаю, что случилось, но это сработало.

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

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

Наконец, после того, как вы исправили все, что не так, вам нужно очистить проект Gradle. Вы делаете это, перейдя в меню "Сборка" вверху и выбрав "Очистить проект".

android

Ресурсы - внешние файлы (не код), которые используются Вашим кодом, закомпилированы в Ваше приложение и встраиваются в него во время работы. Андроид поддерживает многие различные виды файлов ресурсов, включая XML, PNG и JPEG. Файлы XML имеют сильно различающиеся форматы в зависимости от того, что они описывают. Ресурсы описаны в исходном коде, и файлы XML откомпилированы в двоичный код для быстрой и эффективной загрузки. Строки сжаты в более форму, более экономящую память.

Список ресурсов

Типы ресурсов и их местоположение:

- стили, строки и массивы - “/res/values/” .

- Названия не могут отличаться:

- ‘arrays.xml’ для определения массивов.

- ‘colors.xml’ для определения цветов.

- ‘dimens.xml’ для определения размеров (dimensions).

- ‘strings.xml’ для определения строк.

- ‘styles.xml’ для определения стилей объектов.

- необработанные файлы вроде mp3 или видео - “/res/raw/”

Использование ресурсов в коде

Для использования ресурса в коде нужно знать только полный ID ресурса и в какой тип объекта Ваш ресурс был откомпилирован. Вот синтаксис обращения к ресурсу:

R.resource_type.resource_nameт или android.R.resource_type.resource_name

resource_type - подкласс R, который содержит определенный тип ресурса. resource_name - атрибут ресурсов, определенный в файлах XML, или имя файла (без расширения) для ресурса, определенных другими типами файла. Каждый тип ресурса будет добавлен в подкласс R, в зависимости от его типа.

Ресурсы, откомпилированные Вашим приложением, могут быть использованы без названия пакета (просто как R.resource_type.resource_name). Андроид содержит многие стандартные ресурсы, такие как стили экрана и фоны кнопки. Обращаться к ним в коде Вы можете через android.R.resource_type.resource_name, для примера: android.R.drawable.button_background.

Ссылка на Ресурсы

Значение в атрибуте или ресурсе может также быть ссылкой на другой ресурс. Это часто используется в layout файлах, чтобы хранить строки (таким образом можно локализовать приложение) и изображения (находящиеся в другом файле), хотя ссылка может быть на любой тип ресурса, включая цвета и числа.

Например, если у нас есть ресурсы с цветами, мы можем написать layout файл, который установит цвет текста на значение, содержащееся в одном из ресурсов:

Обратите внимание на префикс "@", показывающий, что это - ссылка на ресурс, текст после него - название ресурса в форме @[пакет:]тип/имя. В примере мы не определяем пакет, потому что ссылаемся на ресурс в нашем собственном пакете. Чтобы сослаться на системный ресурс, Вы должны были бы написать:

В следующем примере, мы используем ссылку на ресурс, храня строки в layout файле так, чтобы они могли быть локализованы:

Альтернативные Ресурсы & Локализация

Альтернативные Ресурсы и Локализация - серьезная проблема, достаточно хорошо решенная в Андроиде. Обычно чаще всего Вы должны были бы проектировать UI, хорошо подходящий для каждого из возможных разрешений экрана одновременно, что почти невозможно.

Вы можете добавлять в свое приложение различные UI, языки или поддержку устройств с различной конфигурацией харда.

Заметьте, что даже если Вы добавите много разных языков, UI и всех других ресурсов, SDK сам определит набор ресурсов, который будет использоваться. К примеру, Андроид сам догадается, где какой язык Вам нужен и выберет его. Или UI. Чтобы включать дополнительные ресурсы, создайте параллельные папки с ресурсами и к каждому названию через черточку добавьте параметр (спецификатор), куда эта папка относится (язык, ориентация экрана, точки на дюйм, разрешение, …). Вот, например, у этого проекта есть английская и немецкая локализация (здесь только строки):

Андроид поддерживает несколько типов спецификаторов, с различными значениями для каждого. Добавьте их концу названия папки ресурса, отделив от названия черточкой. Вы можете добавить много спецификаторов, отделяя их друг от друга черточками. Например, папка, содержащая drawable ресурсы только для определенной конфигурации:

Более того, Вы можете определить только несколько определенных опций конфигурации, для которых определен ресурс.

Андроид выберет, какой из различных основных файлов ресурса подходит лучше всего во время выполнения, в зависимости от текущей конфигурации устройства.

В каждом случае во всех моих классах, где я ссылаюсь на R.id.something , R выделяется красным цветом и говорит: «не удается разрешить символ R». Также каждый раз, когда есть R.layout.something , он подчеркивается красным и говорит "не может разрешить метод setContentView (?)". Проект всегда строит нормально. Досадно видеть это все время. Здесь я прочитал много других вопросов о чем-то похожем, но чаще всего связан с импортом проектов из Eclipse. Я использую то, что я считаю самой последней версией Android Studio, и проект был создан с помощью Android Studio и работал без каких-либо проблем «не могу решить R». Я хотел бы знать, что вызывает это, если кто-нибудь знает.

У меня была эта проблема тоже. Простые 'gradlew clean' и 'gradlew build' сделали свое дело.

Нажмите на Построить-> Очистить проект и это произведет очистку gradle

В последних версиях Android Studio, по крайней мере для меня, работает следующее:

«Инструменты» -> «Android» -> «Синхронизировать проект с файлами Gradle»

В последней версии Android Studio 3.1.3 (июль 2018 года) «Синхронизация проекта с файлами Gradle» доступна в строке главного меню.

enter image description here

У меня похожая проблема, и вот что я сделал:

чистый проект и синхронизировать проект с Gradle,

enter image description here

enter image description here

проверьте версию buildTools в моем sdk

Из сборки Gradle (модуля) измените minSdkVersion с 8 на 9

Но все это не помогло.

Наконец я нашел ответ (это сработало в моем случае)

Изменить из build.gradle (модуль: приложение)

выберите Файл | Изменение структуры проекта Версия инструментов сборки на 21.1.1

enter image description here

Я использовал Gradle 3.3.0. Это был главный виновник. Потрачено впустую 6,50 часов из моей жизни. Gradle 3.2.1 устранил ошибку.

Проблема решена после изменения версии Gradle. Подробности истории можно найти здесь .

  1. Проверьте ваши XML-файлы.
  2. Чистый Проект.

Например, у меня была запись в моем strings.xml :

И в activity_main.xml я использовал эту строковую запись

Пока я работал с проектом, я удалил

И, следовательно, activity_main.xml стал недействительным. Как результат: не может разрешить Р.

Итак, проверьте ваши *.xml файлы и очистите проект.

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

Таким образом, вы пытаетесь очистить, но это не сработает.

И перезапуск тоже не работает.

Но попробуйте File -> Invalidate Caches/Restart . -> Invalidate and Restart

Android Studio хранит информацию о том, какие файлы зависят от каких других файлов. А поскольку перемещение файлов не реализовано правильно, перемещение файлов вызывает ошибки. И это еще не все: кеши этих зависимостей используются для ускорения сборки.

Это означает, что вам нужно не только перезапустить, но и аннулировать эти кэши, чтобы восстановить (или, точнее, восстановить) здравомыслие.

Кажется, есть много причин для этой проблемы. Недавно я добавил тестовое действие с названием NewActivity. Это создало файл с именем res/menu/new.xml , и gradle не понравилось это имя, потому что new является зарезервированным Word.

"Tools" -> "Android" -> "Sync Project with Gradle Files"

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

Я думаю, если вы поместите ваши файлы деятельности в другую папку, чем по умолчанию. Вам нужно импортировать com.example.yourproject.R (это файл R вашего проекта, а не файл Android.R) во ВСЕ действия, использующие R. Например, в файле MainActivity вставьте эту строку:

Ваш код только что зашифрован. Ответ довольно прост.

Just go to **Build** --> **Clean Project**.

Это должно делать свое дело.

Я сейчас использую Android Studio 3.0.1.

Вы недавно обновили свои инструменты SDK? Запустите менеджер Android SDK и убедитесь, что у вас установлены новейшие инструменты SDK, которые теперь отделены от инструментов платформы. У меня была такая же проблема, когда я впервые обновил свой менеджер SDK, пакет SDK build tools не показывался для установки/обновления, пока я не закрыл и не открыл заново менеджер SDK.

Брат, файл R.Java содержит ссылку между XML и страницей Java. «R не может быть решена» возникает только в том случае, если есть проблема с некоторыми из ваших файлов ресурсов. Таким образом, лучший и эффективный способ - удалить последний созданный файл XML или файл в формате res. а затем снова начать оттуда в соответствии с нормами кодирования Android. Это единственный способ. Эффективный и правильный путь.

Также используйте Git для правильного отслеживания кода. ..

enter image description here

Просто очистите ваш проект и синхронизируйте проект с Gradle File.

И проблема будет решена.

У меня недавно была эта проблема, и очистка/сборка и т.д. Не решили ее. Я догадывался, что где-то возникла проблема, но не был уверен, где ее можно найти (было ли это в манифесте, файлах ресурсов XML и т.д.?).

Когда что-то не так, вы можете узнать, что это такое, выполнив анализ кода.

Из меню вверху выберите:

Анализ -> Проверка кода, сканирование всего проекта с использованием профиля «По умолчанию».

Результаты ваших проверок будут содержать элемент под названием «Android». Здесь вы получите список всего, что вызывает проблемы в ваших ресурсах и файле манифеста. Ошибки откроют сгенерированные XML-файлы из вашей сборки, которые будут отображать все ошибки красным цветом.

Моя точная проблема была вызвана тем, что я использовал файлы манифеста на основе ароматизатора и случайно скопировал некоторые разрешения внутри тега <application> в ароматизаторе.

Inspection

UPDATE: У меня возникла проблема после того, как Android Studio по-прежнему показала ошибку после исправления, хотя теперь я могла собирать и запускать отлично, пока ошибка все еще была. (Я управляю сборкой канареек, так что пока что это так)

У меня было это с

  1. Заглавная буква в моих ресурсах.
  2. Импорт Android.R, добавляемый Android Studio (или Eclipse)
  3. Ошибка в XML-файле

Просто зайдите в список Android Top Top. нажмите Build Menu, в разделе Build нажмите Rebuild Project.

enter image description here

Я столкнулся с этой проблемой, когда я вручную переименовал папку домена моего приложения. Чтобы решить эту проблему, мне пришлось

  1. Установите правильную структуру папок package для <manifest> в AndroidManifest.xml .
  2. Установите новое местоположение пакета для Android:name из <activity> в AndroidManifest.xml .
  3. Очистить кеш

Меню Файл -> Недействительные кеши/перезагрузка .

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

Мне пришлось импортировать мой пакет R в Android-студию. Например: import com.example.<package name>.R

Do: Build> Чистый проект

В основном эти ошибки связаны с @ string/или @ array /. Чистый проект снова и готово!

  • Убедитесь, что в файлах layout.xml нет ошибок.
  • Перейти к Построить> Чистый проект

Это сработало для меня, надеюсь, это сработает и для вас.

У меня была такая же проблема, и это происходит, когда я создаю новый проект.

Что я делаю, это:

  • проверить наличие обновлений SDK
  • затем обновления студии Android,
  • затем снова откройте проект
  • откройте файл andoridmanifest.xml
  • сотрите пробел между "_>" в ярлыке Android: и сохраните.

Это подходит для меня.

Построить> Чистый проект

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

Желаем удачи и удачи в ваших проектах.

У меня есть особый случай для этой проблемы.

В моем проекте все идет хорошо, его можно скомпилировать и собрать успешно, но в моей Android Studio IDE (и я тоже пробовал Intelligent IDEA, они в той же ситуации) файл R.Java не может быть решен хорошо и всегда будет падение в красной линии.

Это почти сводило меня с ума, я не могу вынести цвет чтения, когда я программирую.

Наконец я обнаружил, что эта хитрая проблема вызвана размером файла моего R.Java . Мой проект очень большой, он поддерживает многоязычность и многоэкранные размеры. Существует так много ресурсов, что размер файла моего R.Java составляет около 2.5M.

Максимальный размер файла в Android Studio составляет 2,5 М в настройках по умолчанию, поэтому файлы, размер которых превышает это ограничение, не могут быть разрешены должным образом. И вы можете изменить настройки по умолчанию в "AndroidStudio-root/bin/idea.properties".

изменить эту строку:

Затем перезапустите Android Studio, красный цвет исчез, я снова могу программировать.

Это очень старый вопрос, но он все еще часто случается, и здесь нет исчерпывающего ответа.

У меня была эта проблема больше раз, чем я хочу признать. Это может быть вызвано множеством проблем, которые в основном связаны с тем, что структура вашего проекта не соответствует ожидаемой. Вот список всех проблем, которые у меня были:

Импорт из Eclipse в Android Studio не всегда работает гладко, особенно в старых версиях Android Studio. Убедитесь, что вы используете правильное дерево каталогов. Это должно выглядеть так для умеренно зрелого приложения:

Это может выглядеть не так в вашей IDE. Над деревом файлов есть раскрывающийся список, который отображает ваши файлы по-разному, и по умолчанию в моей системе он называется Android, который разбивает ваши файлы на различные типы. Такую проблему легче решить из той, которая называется Project, и еще проще - непосредственно из файловой системы вашей ОС, потому что Android Studio сворачивает папки, содержащие только одну папку, в одну строку.

Особенно, если вы когда-нибудь измените имя своего приложения, вам нужно убедиться, что дерево исходного кода main/Java/com/domain/AppName обновлено. Также убедитесь, что тег пакета в вашем AndroidManifest.xml правильный.

Если в ваших файлах Gradle или в AndroidManifest.xml есть ошибки, это помешает Android Studio правильно создавать файлы ресурсов. Файлы Gradle могут быть повреждены при обновлении Android Studio, особенно в версиях до 1.0. Иногда это происходит потому, что он перестает поддерживать старые версии плагина Gradle, поэтому вам нужно обновить номера версий. Иногда бывает трудно найти текущие версии. На сегодняшний день, 17.07.15, мои приложения хорошо компилируются с com.Android.tools.build:gradle:1.2.3 . Это находится в блоке зависимостей во внешнем файле Gradle,

Если ваш AndroidManifest ссылается на несуществующий рисуемый или строковый ресурс или действие, он сломается и вызовет эту ошибку. Иногда, если что-либо ссылается на несуществующий нарисованный или строковый ресурс, вы получите эту ошибку.

Если у вас есть файл в ваших ресурсах, который поврежден, или неверный файл XML, вы получите эту ошибку.

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

Если у вас есть два ресурса xml с одинаковыми именами, в каталогах, которые не перекрывают друг друга, вы можете столкнуться с этой проблемой. Например, у вас могут быть одинаковые имена в drawable-mhdpi и drawable-xhdpi, потому что они переопределяют друг друга в зависимости от целевого устройства, но если у вас одинаковое имя в макете и в меню, это вызовет проблему. Переименуйте или удалите один из файлов.

Если только некоторые ресурсы имеют эту проблему, эти ресурсы, скорее всего, находятся в неправильном каталоге.

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

В одном случае я переместил весь свой проект в другой каталог и повторно импортировал его как новый проект. Я не знаю, что случилось, но это сработало.

Файлы XML с зарезервированными словами для имен могут вызвать эту проблему. Переименуйте или удалите их.

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

Наконец, после того, как вы исправили все, что не так, вам нужно очистить свой проект Gradle. Вы делаете это, перейдя в меню Build вверху и выбрав Clean Project.

Я запускаю Android Studio 1.7.0 и создаю проект с настройками по умолчанию. Скриншот прилагается:

Android Studio Screenshot

вот как выглядит структура проекта:

enter image description here

просто нажмите на кнопку Build ->Перестроить Проект опция в вашей студии Android.

Я обнаружил, что эта проблема была вызвана тем, что у меня были ошибки в моих XML-файлах. Как только вы исправите ошибки XML, выполните очистку / сборку, она исправила проблему.

нажать на кнопку Build -> Rebuild Project и затем нажмите Tools -> Android -> Sync Project with Gradle Files .

убедитесь в своем AndroidManifest.xml имя пакета является правильным. Это исправило проблему для меня, когда мой R.whatever был отмечен красным!

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

теперь вы должны увидеть Папка" MyAppProject/MyApp/build/source". Это должно содержать папку" r " (где R.java файл генерируется). Здесь вы должны увидеть "debug", "release" синим цветом (если у вас есть projectFlavour в вашей сборке.gradle, они будут находиться в папке""). В этой папке debug/release должно быть имя пакета вашего приложения, а затем R.java файл, содержащий все идентификаторы ресурсов.

по некоторым причинам Android studio использует разные конфигурации для редактора и компилятора. Если это работает для компилятора, то это хорошо. Если это не сработает для редактора. (он видит неразрешенные файлы).

вам нужно добавить некоторые каталоги в источник вашего проекта. Например, все ресурсы должны быть помечены как "источник".

Файл - >Структура Проекта

выберите "модули", затем ваш проект. И выберите sources tab. Справа Найди свой каталог ресурсов и нажмите на синюю кнопку" источник". Закройте все, и это должно сработать.

кроме того, вы должны убедиться, что

build/source/r/debug также является источником. У меня есть все мои build/source/*/debug отмечен как источник.

Не уверен насчет этого, но я слышал, что он работает, хотя я уверен, что это ничего не изменит. Попробуйте скомпилировать и сохранить проект после комментирования всех строк, которые требуют R . Тогда, когда все не красное. Попробуйте добавить их обратно. Странно, что ваша сборка / источник не генерируется.

также этот вопрос предлагает проверить "компилятор использует внешнюю сборку"

также убедитесь, что в вашем Java-коде нет. import android.r; от того, что вы показали, все вроде нормально. Просто странно, что сборка/источник не создается. Например, у меня нет build / apk. Может быть, вы находитесь в режиме выпуска, и он не создает эти каталоги.

вот мое временное решение пока не найду получше:

используя все, найдите где R.java создается. В моем случае это было C:\Program Files (x86)\Android\android-studio\system\compiler\<project-name>.cb969c52\.generated\aapt\<module-name>.6badd9a4\production\com\<project-name>\<module-name>

в окне проекта выберите модуль и нажмите клавишу F4. Игнорируйте предупреждение.

нажмите "+ Добавить корень содержимого " и выберите вышеупомянутую папку. Убедитесь, что он отмечен синим цветом (как источник).

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

  1. перестроить проект.
  2. если (1) не работает, перезапустите Android Studio/Eclipse.

если ни один из них не работает, проверьте все ваши xml-файлы. Эта ошибка возникает, когда ваш файл xml неверен.

просто перейдите в список верхнего меню Android. нажмите на кнопку Build меню, в разделе Build нажмите на Перестроить Проект.

enter image description here

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

проверьте правильность XML в файлах ресурсов: если ваш R.java файл не был создан для последней сборки, вы увидите ошибки в своем проекте везде, где вы ссылаетесь на ресурс. Это может быть вызвано опечаткой в одном из XML файлов. Макет XML не всегда проверяется, поэтому опечатки в этих файлах не могут быть целенаправленно доведены до вашего внимания. Поиск опечатка и сохранение файла должны вызвать R.java регенерировать.

очистите свой проект! Select Build → Clean Project Это перестроит проект с нуля, что может привести к безошибочной сборке.

синхронизация проекта с Gradle! Select Tools → Android → Sync Project with Gradle Files Android Studio перестроит проект с нуля с правильными настройками проекта, которые могут помочь решить проблемы после изменения конфигурации Gradle.

Запустить Android Линт! Линт может дать вам хорошую информацию о проблеме. Если вышеизложенное не работает, именно здесь вы, скорее всего, найдете свою проблему. Чтобы запустить Lint, select Analyze → Inspect Code → select Whole project → OK Тщательно проанализируйте предложения Lint; начните с ошибок, а затем предупреждений.

Читайте также: