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

Я бы сказал, что «R не может быть разрешен» - это нечто слишком общее и иногда может вводить в заблуждение. У меня также была такая же проблема много раз назад, даже когда я впервые создавал новый проект (что означает, что я еще не связывался с кодом). Большую часть времени мне просто нужно обновить мой менеджер SDK (как уже упоминали некоторые люди). Но в моем недавнем случае я обнаружил, что путь к файлу моего проекта слишком длинный (что-то вроде этого E:\R&D\ANDROID\ANDROID BASIC\Folder 1\ Folder 2\..... \Folder n\MyProject). Имена папок также содержат пробелы. Я подумал, что это может быть так, и это действительно так, когда я создал новый проект в другой папке с кратчайшим возможным путем и ни в одном из имен папок, содержащих пробел, он работал как обычно.

0 голосов
/ 07 декабря 2011

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

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

Может быть, это может помочь вам или другим читателям.

0 голосов
/ 05 марта 2015

R - это автоматически сгенерированный ресурс в проекте Android, иногда это случается, я точно не знаю почему, но вы попробовали автоматически построить опцию из проекта

=> удалить другой импорт R-файла другого проекта или android.r => всегда помните, что если вы всегда сталкиваетесь с проблемой автоматического создания идентификатора или автоматического удаления R-файла, вы можете создать статический идентификатор, например, строковый файл, и использовать его с @id вместо @ + id

0 голосов
/ 31 января 2013

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

0 голосов
/ 08 декабря 2013

Что сработало для меня, так это установка "Android SDK Build-tools". Откройте Android SDK Manager и установите инструменты сборки Android SDK. Это также помогло обновить платформу разработки Andriod в Eclipse: Справка> проверить наличие обновлений

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

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

наконец-то я узнал, что adb потерян

для Mac OS, перейдите в каталог Android SDK

type ./adb start-server

0 голосов
/ 27 августа 2015

При работе с x64 Linux у вас могут отсутствовать некоторые сборки x32. Ex для Debian, убедитесь, что у вас установлены пакеты libc6-i386 и zlib1g.

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

Щелкните правой кнопкой мыши по вашему проекту и нажмите Refresh Или нажмите F5

0 голосов
/ 28 октября 2012

Для меня это было из-за неправильной версии компилятора Java. Особенности проекта -> Java Compiler, включите «Включить специфические настройки проекта» и выберите свой «уровень соответствия компилятора»

0 голосов
/ 31 января 2014

Импорт класса R с вашим именем пакета. Не импортируйте Android R класса.

...