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 ]

2 голосов
/ 29 июля 2013

Я думаю, что проблема в файле layout.xml или в операторе импорта.

Убедитесь, что вы не импортировали R.android. вместо импорта R.YOUR PACKAGE NAME. .

Будет нормально работать.

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

Чтобы решить эту проблему, перейдите в java Build path-> order и Export и установите флажок all, выберите ok, затем очистите и соберите проект и импортируйте файл имени пакета R (например, com.demo.R). Это работает.

2 голосов
/ 01 марта 2011

Недавно я столкнулся с похожей ситуацией с R, которая не может быть разрешена.

  1. Проект -> Очистить (обычно это работает, но на этот раз это не так).
  2. Я пытался удалить папку gen/ (которая автоматически создается) - нет.
  3. Фиктивная модификация файла. Нет снова. К настоящему времени я собирался серый !
  4. Я проверил в файле AndroidManifest.xml, присутствовал ли appName. Было - проверено!
  5. Снова посмотрел на мою папку res / ...

И вот тут-то и странно ... В некоторых, но не во всех случаях выдает ошибку ...

Я добавил флаг formatted = "false":

<resources>
    <string name="blablah" formatted="false">
    </string>
</resources>

Бинго!

2 голосов
/ 27 ноября 2015

Для меня это было связано с использованием «приватных» отрисовок для Android:

[2015-11-26 18:59:48 - MyAndroidApp] 
/Users/myname/git/MyAndroidApp/res/menu/drawer_view.xml:24: 
error: Error: Resource is not public. (at 'icon' with value 
'@android:drawable/ic_menu_home').

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

android:entries="@menu/drawer_view"

Теперь решение было вполне очевидным: скопировать значки в мой проект (res / drawable-XXXX /) и переключиться на локальные ссылки.

@drawable/ic_menu_home

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

2 голосов
/ 23 марта 2011

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

  • Убедитесь, что любое ссылочное изображение ресурса действительно есть
  • Все уже упомянули так много, что это просто эхо ... Удалите все введенные Eclipse R.* импорт, если это необходимо.
  • Мне нравится перезапускать Eclipse, когда я делаю вышеописанное.
  • Убедитесь, что все файлы XML правильно структурированы. Мол, просто делай свои вещи. Хахаха
  • Пройдите как можно больше строк. Привыкайте часто нажимать Ctrl + Shift + S , чтобы быстро изменить результаты компилятора.

Хах. Конечно, приятно получить исправление R, которое не может быть исправлено , хотя ...

2 голосов
/ 14 июня 2010

Так что я сталкивался с этой проблемой несколько раз при переключении целей сборки. Обычно делаю проект >> Чисто работало на меня. Однако в последний раз этого не произошло. Наконец я попытался открыть файл default.properties, расположенный в корневой папке проекта. Я получил сообщение об ошибке о том, что он не синхронизирован с файловой системой. Я на самом деле удалил его и скопировал версию коллег, которая позволила eclipse восстановить мой R-файл. Я буду вставлять, как это выглядит ниже. Он называется «default.properties».

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
# 
# This file must be checked in Version Control Systems.
# 
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.

# Indicates whether an apk should be generated for each density.
split.density=false
# Project target.
target=android-3
2 голосов
/ 18 января 2013

Если очистка проекта не работает и если нет проблем с файлами XML (если это новый проект). Затем перейдите в Androidmanifest.xml, отредактируйте его и добавьте пробелы между строками, сохраните его. Теперь очистите проект, ошибка исчезнет.

Это происходит из-за устаревшего файла R.java. Когда мы редактируем файл манифеста Android, R.java создается снова.

2 голосов
/ 25 марта 2010

Я изменил android:versionName в файле AndroidManifest.xml с 1,0 до 1,1. Это восстановило мой файл R.java, и я счастливый турист. Надеюсь, это кому-нибудь поможет.

2 голосов
/ 21 июля 2013

Я решил это для себя с помощью Window-> Preferences-> Android и SDK Location: путь к adt \ sdk например C: \ ADT \ * 1001 SDK *

1 голос
/ 04 января 2013

просто очистите и восстановите ваш проект, иногда это помогает

...