"R не может быть разрешено переменной"?

В Eclipse я создал проект из источника, и теперь он показывает ошибки - "R не может быть разрешен переменной". Из того, что я нашел здесь, я очистил и восстановил проект, но файл R не отображается в папке /gen.

Любые идеи?

Ответ 1

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

Ответ 2

Если Clean/Rebuild Project не работает, попробуйте проверить имя нашего пакета в AndroidManifest.xml.

Проблема "R не может быть решена" происходит при изменении имени пакета в файле AndroidManifest.xml. Он использует ваше имя пакета Android для создания подкаталога в каталоге "gen", где он хранит файл R.java.

Ответ 3

Для меня ошибка была исправлена ​​путем внесения некоторых изменений в Android SDK Manager.
Каким бы ни был новейший уровень API, установите его "SDK Platform". Для меня последний доступный уровень API был 16, поэтому я установил его SDK-платформу, как показано на рисунке ниже. Теперь он отлично работает.

Screenshot of Android SDK Manager after fixing the problem
Cheers, Mayank

Ответ 5

Для меня как-то свойства проекта; Android; Project Build Target не установлен. Я выбрал там версию Android (например, 4.2), и он исправил ее.

Ответ 6

для меня наилучшим решением предложить людям, которые имеют проблемы с файлом "R", было бы попробовать следующие шаги (порядок не имеет значения):

  • обновить ADT и SDK, Eclipse и Java.

  • удалить папку gen и создать ее снова.

  • выполните чистый проект.

  • щелкните правой кнопкой мыши проект и выберите инструменты android-tools → fix-project-properties.

  • щелкните правой кнопкой мыши проект и выберите свойства → java-build-path → order-and-export. убедитесь, что порядок:

    • Android 4.3 (всегда самая последняя версия)

    • частные библиотеки Android

    • андроидные зависимости

    • проект вашей библиотеки /s при необходимости

    • yourAppProject/ген

    • yourAppProject/SRC

  • убедитесь, что все файлы в подпапках папки res имеют имена, которые соответствуют окну: только строчные буквы, цифры и символ подчеркивания ( "_" ).

  • всегда убедитесь, что targetSdk указывается на новейший API (в настоящее время 18) и установите его в файле project.properties

Ответ 7

Для меня в конце моего SDK отсутствовала косая черта. В Eclipse > Предпочтения > Android > Местоположение SDK

Например, измените

/home/matt/android-sdk-linux

to

/home/matt/android-sdk-linux/

Ответ 8

У меня была аналогичная проблема, и решение, которое я выяснил, было в ресурсах любого из файл aka background, sound и т.д. не должен содержать заглавных букв или любой специальный символ, отличный от _

Ответ 9

ваш манифест андроида должен начинаться с правильного пакета

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="HERE - Correct package NAME"
    android:versionCode="1"
    android:versionName="1.0" >`

Ответ 10

Что вам действительно нужно сделать, просто установите "build-tools" из sdk manager, и r.java будет сгенерирован автоматически.

Ответ 11

У меня была такая же ошибка. Ошибка заключалась в том, что я поместил файл в папку res/raw с недопустимым именем файла. Как только я исправил имя файла до действительного, ошибка была решена!

Разрешенные символы для именования файла: -

1. a-z
2. . _
3. 0-9
4. no capital letters

В моем случае были прописными буквами!

Ответ 12

Иногда вы можете случайно добавить импорт в "R", поэтому, если в верхней части вашего кода вы видите какой-то странный импорт о том, что вы не добавили себя, удалите ссылку, и все должно вернуться к нормальной работе

Ответ 13

Моя проблема была странной и потребовалось некоторое время, чтобы ее найти. Как-то пакет файла src изменился так, что последняя запись в пакете была удалена. Так, например, изначально мой класс MyActivity.java находился в пакете com.abc.client.test.app, но после того, как я добавил пользовательское разрешение, приложение было удалено, и пакет был переименован в com.abc.client.test. Я не знаю, как это произошло. Переименование пакета и размещение java файла в правильном месте устранили проблему.

Ответ 14

Я нашел эту проблему при попытке запустить программу Notepadv3 из первого урока Googles '..

Для меня это проблема с файлом xml из-за уровня API, который я использовал. Я переименовал каждый случай Match_Parent в более старый тип Fill_Parent. О, и если вы уже создали авто-проект, вам нужно удалить "import android.R" на NoteEdit.java и Notepadv3.java, очистить проект (нажмите "Проект", затем "Очистить..." ) перед сохранением.

Решил это для меня. Пришел из этой статьи проблема Android NDK r4 san-angeles

Не могу поверить, что Google не предупреждает об этой проблеме - я настраивал другой компьютер, чтобы снова начать программирование, и даже с небольшим количеством предварительных знаний, это было больно. Как вы устанавливаете API при импорте существующий проект??? Невозможно увидеть, где есть опция диалога, когда вы "Файл" "Импорт" и т.д.

Scamparelli

Ответ 15

Проверьте файлы androidmanifest.xml файла и layoutfolder xml. Они должны создаваться должным образом, так как начальное и конечное предложение в xml должно быть правильно размещено. Обновляйте файлы, очищайте и создавайте. И все установлено!

Ответ 16

У меня была эта проблема, и ни один из других руководств не помог, и тогда я понял, что у меня нет java jdk, установленного в моей системе. Если вы этого не сделали, либо загрузите версию, соответствующую установленной версии eclipse (x86 или x64).

Ответ 17

Возможно, у вас есть ошибка в ваших *.xml файлах: макеты и т.д.

Ответ 18

Попробуйте изменить файл AndroidManifest.

Например, добавьте пробел и удалите это пространство. После этого ЭКСПЛУАТАЦИЯ сохраните проект. Ресурсы будут обновлены. Это может помочь.

Ответ 19

Я решил проблему с разрешением ресурса R на fc19.x86_64 и ADT v22.0.5-757759 путем установки дополнительных библиотек после обновления Fedora и ADT.

yum install ld-linux.so.2
yum install libstdc++.so.6
yum install libz.so.1

Эти библиотеки требуются adb (Android Debug Bridge версии 1.0.31).

Затем перезапустите Eclipse и выполните проект clean Project- > Clean check project, который вы хотите очистить.

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

Ответ 20

Проект > Очистить...

обычно восстанавливает файл R.java, расположенный в gen/com.mypackage

Ответ 21

В моем случае R.java не получал из-за иерархической родительской ошибки, которая, в свою очередь, была излечена обновленным одним или несколькими плагинами Eclipse (Go Eclipse → Справка → Проверка обновлений)

Ответ 22

Я получил эту ошибку, когда я добавил файл js в папку res.

Индикатор ошибки был установлен на значок папки res. Во всех классах, где я использовал R, я получил эту ошибку.

Я переместил файл js в папку с ресурсами, и все сработало.

Ответ 23

Проблема заключалась в том, что eclipse не генерировал R.java. Чтобы решить эту проблему, перейдите в проект- > очистить... и выберите свой проект и выберите ОК, а затем очистите и создайте проект и импортируйте файл R файла вашего пакета (Ex com.demo.R). Он работает.

Ответ 24

Это может произойти, если не соблюдено соглашение об именах android. Убедитесь, что вы поместили файл/фотографию в одну из папок Android и убедитесь, что имя файла содержит только строчные буквы

Ответ 25

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

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

После этого еще один Project > Clean и он, наконец, скомпилирован.

Ответ 26

Я получил это, когда переименовал проект. Хотя проект переименован, некоторые ссылки отсутствуют. Помогло очистить линт, а затем снова использовать линт. (Щелкните правой кнопкой мыши проект > Инструменты Android > Очистить маркеры Lint, затем Запустить Lint)

Ответ 27

Моя установка была повреждена после недавнего обновления, где инструменты сборки SDK необходимо устанавливать отдельно после установки SDK. Поэтому обновление инструментов сборки + перезапуск Eclipse исправил это для меня.

Кредит отправляется на ответ на Android здесь

Ответ 28

Если другие решения не работают, выберите свой проект и удалите его. УБЕДИТЕСЬ, ЧТО ВЫ НЕ УДАЛИТЬ ФАЙЛЫ ИЗ ДИСКА.

Затем используйте файл > import > существующий код Android в рабочей области и выберите местоположение вашего проекта.

Ответ 29

У меня было это, и я просмотрел его обратно в файлы макета. Это случилось со мной снова, однако я не мог найти заметки в файлах макета. Я посмотрел в файле string.xml и был он.. одно из имен строк начиналось с cap, и это вызывало проблему.

Ответ 30

Исправьте все ошибки форматирования XML в XML файлах в папке /res/menu.

Это может быть ошибка времени компиляции из-за неправильного форматирования файла XML.