R не может быть решена - ошибка Android - PullRequest
1042 голосов
/ 20 мая 2009

Я только что скачал и установил новый Android SDK. Я хотел создать простое приложение для его тестирования.

Мастер создал этот код:

package eu.mauriziopz.gps;

import android.app.Activity;
import android.os.Bundle;

public class ggps extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

но Затмение дает мне ошибку

R не может быть разрешена

на линии

setContentView(R.layout.main);

Почему?

PS: у меня есть файл XML с именем main.xml в res/layout/.

Ответы [ 106 ]

19 голосов
/ 15 февраля 2013

Наряду с отличными советами в предыдущих ответах, убедитесь, что цель Android установлена:

  1. Щелкните правой кнопкой мыши по вашему проекту
  2. Выберите Свойства
  3. Выберите Android в левом меню
  4. Установите флажок рядом с соответствующей Целью сборки проекта.
  5. Нажмите Применить и OK

Редактировать: Год спустя я нашел другую причину. У меня в папке для рисования было изображение .jpg с тем же именем, что и изображение .png. Ссылка на это изображение в моем коде, должно быть, запутала программу, и это выдало ошибку «R не может быть решена».

19 голосов
/ 11 августа 2011

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

Например, если com.example.myapp является корневым пространством имен для вашего пакета, вы можете добавить действие в пространство имен com.example.myapp.activities.

Это приведет к ошибке «R не может быть решена».

Чтобы исправить импорт, R в пространстве имен по умолчанию в вашей деятельности должно быть:

import com.example.myapp.R;
17 голосов
/ 29 августа 2013

Убедитесь, что вы установили инструмент для сборки Android из sdk manager

Свойства проекта правой кнопкой мыши -> Java BuildPath, выберите Библиотека и добавьте android-support.jar, выполните следующие действия.

Перейдите в Проект-> Свойства-> Путь сборки Java, затем выберите Порядок и вкладку экспорта. Установите проверенную библиотеку android-support .jar и поместите ее в начало списка. И очистите и восстановите .. Это работает для большинства случаев

enter image description here

14 голосов
/ 01 июля 2010

У меня только что возникла эта проблема в миллионный раз, и я понял, что ее вызвало: я создал файл XML с заглавными буквами в имени. Все ваши имена файлов XML в /res должны соответствовать [a-z0-9\\._].

13 голосов
/ 01 июня 2010

Самое простое решение - Иногда вам просто нужно сохранить XML-файл, над которым вы работали, чтобы включить автогенератор.

Сохраните файл (например, main.xml), затем удалите файл R.java и посмотрите, решает ли регенерированный R.java проблему с разрешением R.

12 голосов
/ 20 мая 2009

R - сгенерированный класс. Если вы используете Инструменты разработки Android (ADT) , оно генерируется при сборке проекта. Возможно, у вас отключена функция «Автоматическая сборка».

11 голосов
/ 14 апреля 2010

Проверьте имена файлов XML. Убедитесь, что они все в нижнем регистре.

Также убедитесь, что все имена ресурсов изображений также находятся в нижнем регистре. У меня была заглавная буква в имени моего jpg-файла, и это вызвало неразрешенную ошибку R прямо в моем проекте.

10 голосов
/ 02 апреля 2016

Возможно, вам потребуется обновить / установить инструменты SDK. Снова запустите Android SDK Manager и установите новый элемент: Android SDK Build-tools.one один за другим, исправьте, какой из них работает для вас.

10 голосов
/ 21 августа 2011

Эта ошибка возникла при моей установке x64 Linux Mint. Оказалось, что результатом стал сбой в двоичном файле ADB, поскольку пакет ia32-libs не был установлен. Простой запуск apt-get install ia32-libs и повторный запуск Eclipse устранили ошибку.

Если в вашем дистрибутиве x64 нет ia32-libs, вам придется перейти на Multiarch.

Проверьте # 4 и # 5 в этом посте: http://crunchbang.org/forums/viewtopic.php?pid=277883#p277883

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

9 голосов
/ 06 ноября 2013

Возможно, вам потребуется обновить инструменты SDK. Снова перезапустите Android SDK Manager и установите новый элемент: Android SDK Build-tools.

enter image description here

...