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 ]

0 голосов
/ 23 мая 2013

Убедитесь, что все проекты библиотеки, которые вы импортировали в приложение, открыты.

И по какой-то причине, если вы ничего не добавили к действию, например onCreate(), он не поймет, что такое R.

0 голосов
/ 04 июня 2013

У меня сегодня такая же проблема. Я пытался выполнить все обновления SDK с помощью менеджера SDK. После завершения и перезапуска IDE проблема была решена.

0 голосов
/ 01 июля 2013

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

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

0 голосов
/ 17 марта 2013

Это сработало для меня.

У меня не было 'import android.R' в новом проекте, созданном мастером затмения. файл макета xml по умолчанию также был в нижнем регистре.

Проблема в том, что затмение не генерировало R.java. Никакое количество очистки / повторного запуска не оказывало никакого эффекта.

Я прокомментировал вызовы setContentView и getMenuInflator, и сборка прошла успешно, после чего Eclipse сгенерировал R.java.

После создания R.java я смог раскомментировать setContentView и getMenuInflator.

0 голосов
/ 20 сентября 2010

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

screenQS.xml - не работает!

screenqs.xml - сработало!

0 голосов
/ 14 марта 2012

Я перепробовал все вышеперечисленное без каких-либо преимуществ. Оказалось, PhoneGap вызывал конфликт с Android SDK. После удаления PhoneGap файл ресурсов снова начал восстанавливаться. Другой проект, мне понадобился PhoneGap, поэтому я переустановил его, и снова проект Android (другой проект) прекратил автоматическую генерацию R-файла - была проверена функция «Сборка автоматически», выполнил очистку и перезапустил Eclipse - без потерь. Я удалил PhoneGap, и он снова заработал. Это был PhoneGap v 1.5 с плагином MDS 1.1 для Eclipse.

0 голосов
/ 22 сентября 2011

Мой R-файл исчез и не будет генерироваться - консоль сообщила об этом:

[2010-09-22 16:19:40 - myproject] res \ drawable-ldpi \ downloadNow.png: Неверное имя файла: должно содержать только [a-z0-9 _.]

Так что оказалось, что имена ресурсов не могут иметь заглавные буквы - подтвердите, что они все строчные и содержат. и _ только

0 голосов
/ 25 июля 2013

Это работает.

Шаг 1:

Скачать https://www.dropbox.com/s/7nwlrg05ke05tat/GalleryImageview.zip

Шаг 2:

Загрузите затмение и загрузите проект> Run and Test будет работать на лету

Шаг 3:

Обновите здесь, если что-то не так.

Наслаждайтесь. Удачного кодирования.

0 голосов
/ 05 февраля 2011

Другой способ это может произойти, если вы начинаете новый проект с одного из образцов. Когда вы позже решите изменить имя пакета с com.example.android.foo на свой собственный домен, вам нужно будет изменить несколько значений в манифесте и в отдельных файлах .java.

Если вы находитесь в Eclipse, найдите оператор пакета для файла .java и выберите QuickFix. Там может быть несколько вариантов, но вам нужен тот, который указывает «Переместить« foo.java »в пакет« com.youdomain.android.yourapp ». Сохраните файл, и он может автоматически скомпилироваться или сделать, как предлагали другие и попробуйте "Проект-> Очистить".

0 голосов
/ 11 апреля 2014

Это может быть проблема, вызванная ручным переименованием пакета в AndroidManifest.xml

Альтернативой является использование встроенного инструмента для переименования пакета, это позволит решить большинство проблем, избегая проблемы R not found.

Right Click on the project
Click on Android Tools
Click on Rename Application Project
Enter the new package name

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

Источник: Переименование имени пакета в android

...