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 голосов
/ 10 ноября 2013

Я последовал совету по установке инструментов сборки платформы. затем Сообщение

<package>/gen already exists but is not a source folder. Convert to a source folder or rename it.

появилось в консоли. Поэтому я последовал совету и установил «gen» в качестве исходной папки. Это решило проблему.

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

Я перепробовал большинство параметров в этой теме (и многие другие), но у меня ничего не получалось. Наконец-то это сработало, и я подумал поделиться им со всеми ...

На моей машине установлено несколько версий Eclipse IDE (потому что я также работаю над проектами, не относящимися к Android). Случайно я создал свой проект Android, используя рабочее пространство, которое использовалось другой (не Android) версией Eclipse. Из-за этого я предполагаю, что происходит что-то странное, и моя R.java никогда не генерируется!

Чтобы исправить это, все, что я сделал, это создал новое рабочее пространство и волшебным образом начал создаваться R.java, и все прошло гладко ...

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

0 голосов
/ 28 марта 2014

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

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

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

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

Если вы работаете с eclipse: иногда eclipse подавляет сообщения об ошибках в файлах ресурсов. Решение. Сохраните временный ресурс, в котором нет ошибок, в папке макета. Постройте проект новый. Затем eclipse показывает правильную ошибку в файле ресурсов. Удалить временный ресурс.

0 голосов
/ 04 февраля 2015

Каждый раз, когда у меня возникала проблема с R, которая не была сгенерирована или даже исчезла, это было связано с некоторой проблемой в файле макета XML, которая препятствовала созданию приложения.

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

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

Есть два способа, которыми R выдаст ошибку

1) Проблема с файлом макета, т.е. с файлом XML

2) Если вы обновите adt, тогда возникнет проблема с R. - вы должны проверить свойства для проекта - goto-> Properties -> Java Build Path -> Order and Export и проверьте все библиотеки.

Это решит проблему.

0 голосов
/ 30 мая 2014

Кроме того, если в ваших папках res есть дополнительные файлы, такие как «desktop.ini», которые добавляются операционной системой, но совершенно не нужны, попробуйте удалить их. По-видимому, это было одной из вещей, блокирующих генерацию R.java в импортированном моем проекте.

0 голосов
/ 28 апреля 2015

О Боже, я Linux ( Ubuntu ). Вот как я решил это:

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

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

перейдите в каталог, в который вы положили свой SDK, затем:

sudo chmod +x -R .

После этого перейдите на project->clean->select your project->clean

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

0 голосов
/ 05 августа 2012

Полагаю, вы просто скопировали и вставили коды или нет. В любом случае проверьте ваш AndroidManifest.xml файл, проверьте правильность имени package.

0 голосов
/ 21 июня 2012

Убедитесь, что вы ищете R.drawable.*, что файл существует в ваших drawable* папках.

...