Я только что скачал и установил новый 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);
}
}
но Eclipse выдает ошибку
R не может быть разрешен
в строке
setContentView(R.layout.main);
Почему?
PS: У меня есть XML файл с именем main.xml
в res/layout/
.
После выслеживания этой проблемы, я нашел эту записку в документации Android:
http://source.android.com/source/using-eclipse.html
Примечание: затмение иногда любит добавить, что "импортировать Android.Р" в заявлении на В верхней части ваших файлов, которые используют ресурсы, особенно когда вы просите Eclipse для так или иначе управлять импортом. Это заставит ваш сделайте сломать. Смотреть за эти ошибочные импорт заявлений и удалить их.
При прохождении в нашем образце учебники, я бы часто использовать <и>сочетание клавиш Ctrl</роз> + <и>сдвиг</роз> + <и>о</КБД> команда, чтобы "организация импорта" и создать любые недостающие операторы импорта. Иногда это может создать неверное утверждение импорта, который бы скрыть R.java` класс, который автоматически создается при сборке.
Всякий раз, когда вы получаете
Р не может быть решен
затем проверьте директорию `/РЭС и там должен быть файл, что есть некоторые ошибки в нем и что мешает созданию приложения. Например, это может быть файл макета или это может быть из-за некоторых недостающих ресурсов, но вы уже определили его в XML-файл.
Если у вас есть какие-либо дополнительные, даже неиспользованные (!) или неиспользуемая (!) изображения в папке, как РЭС/рисунки-резкие, которые не соблюдают правила именования файлов (может содержать только [a-команды Z0-9_.]), класс R.java может не создавать, вызывая цепь событий, все остальные посты называют. Надеюсь, что это помогает!
мой проект включать в себя Р.Ява.в начале ,р. макета.основной хорошую работу.Но,после добавления кода он не't работа,и ошибка компоновки Р..main может'т решены.что'то проблемы?
Посмотри на свой импорт. Шансы на то, что строка:
import android.R;
будет. Если это's в случае, удалить его, так что ваш проект позволит решить р не с Android по умолчанию ресурсы класса, но с одним автоматически из /РЭС/ папку.
И еще одна вещь, которая может вызвать эту проблему:
Я установил новый АДТ (ст. 22). Он перестал создавать папки Гэнь, которая включает в себя R.java`. Было принято решение установить новый SDK для Android, создавать инструменты, с помощью Диспетчера SDK для Android.
Решение нашел здесь
R.java
- это файл, который плагинов Eclipse для Android создает при
создания вашего приложения. R.java
создается в графе "быт"и
каталог. Этот файл генерируется из информации в "РЭС"и
каталог. Если вы запустите выберите и"проекта" -> наша "Чистый..." на затмение
меню, он будет удалить, а затем восстановить файл R.java
.
Проблема с "Р не может быть решен" и происходит, когда вы изменить свой
имя пакета в файл AndroidManifest.xml. Он использует свой Андроид имя пакета, чтобы создать подкаталог в "быт" и каталог, где он сохраняет файл
R.java`.
Затмение может иметь проблемы с запуском, так как она смущает
где файл R.java
когда вы изменили пакет Android
имя. Вы можете либо переименовать в подкаталог ген
, чтобы соответствовать вашей
новое имя пакета, или вы можете изменить имя пакета вернуться к старому
имя. Сделать чистым, а затем изменить имя пакета на новое имя
вы хотите. Это работает лучше всего, если вы остановите затмение пытаться строить
при изменении имени пакета. В графе "проекта" меню
снимите флажок, чтобы "построить автоматически" и также, когда
на "Чистый..." в диалоге спрашивает, если она должна "и начать строить сразу на"
снимите коробку, чтобы она не'т попробуйте построить это
имя пакета. После того, как вы поменяли имя, которое вы можете превратить "и строить
Автоматически" и снова.
Обратите внимание, что если ваш AndroidManifest.xml файл название пакета не совпадают ваше имя Java-пакета, затмение закончится автоматически добавлять на "импорт &ЛТ;вашего Android пакет имя>.Р; с" линией во всех ваших
.файлы Java что есть какие-либо ссылки на R. Если вы измените свое
AndroidManifest.xml имя пакета, иногда Eclipse не обновлять все эти добавил импорт. Если это произойдет, используйте рефакторинга в Eclipse (<и>альт</КБД> + <и>сдвиг</роз> + <и>Р</КБД и GT;), чтобы изменить выражение import в одном из ваших Java-файлы имя пакета вашего нового AndroidManifest.xml
. Лучше для этого
пока у вас отключена "и построить автоматически и".
То, что сказал Уилл, было правильным
R - это автоматически сгенерированный класс, который содержит константы, используемые для идентификации ваших >ресурсов. Если у вас нет файла R.java (это gen/eu.mauriziopz.gps/R.java в >Eclipse с 1.5 SDK), я бы рекомендовал закрыть и снова открыть проект или перейти в >Project > Build all (и выбрать "Build Automatically", как рекомендовал >Josef). Если это не сработает, попробуйте создать новый проект, если проблема повторится, >напишите здесь еще раз, и мы рассмотрим ее более подробно.
Но я обнаружил, что была еще одна проблема, которая вызвала первую. Инструменты в директории SDK не имели прав на выполнение, поэтому они как будто не существовали для Eclipse, поэтому он не собирал файл R.java
.
Изменение разрешения и выбор "Build Automatically" решило проблему.
R - это автоматически генерируемый класс, который содержит константы, используемые для идентификации ваших ресурсов. Если у вас нет файла R.java (это gen/eu.mauriziopz.gps/R.java в Eclipse с SDK 1.5), я бы рекомендовал закрыть и снова открыть ваш проект или перейти в Project > Build all (и выбрать "Build Automatically", как рекомендовал Josef). Если это не сработает, попробуйте создать новый проект, если проблема повторится, напишите здесь снова, и мы рассмотрим ее более подробно.
Закройте все файлы, очистить проект, перезапустите Eclipse.
Стоит проверить в AndroidManifest.xml`. Пакет атрибут `` имеет правильное значение.
То есть:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.correct.package.name"
...
После изменения, что R.java будут перегенерированы.
Вместе с большие предложения в предыдущие ответы, убедитесь, что ваш целевой платформы Android устанавливается:
Редактировать: через год я нашла другую причину. У меня был .jpg изображения в папке Мои катры с таким же именем как .изображения png. Ссылок этот образ в мой код, наверное, перепутал программу, и это дало "и р не могут быть решены на" ошибка.
Эта ошибка также может быть вызвана добавление действий в пространстве имен, который отличается от корневое пространство имен для вашего пакета.
Например, если ком.пример.приложение myappкорневое пространство имен для вашего пакета, то вы можете добавить занятие в Ариа.пример.приложение myapp.деятельности
пространства имен.
Это позволит производить в "Р не может быть решен" и ошибка.
Исправить импортировать в пространство имен по умолчанию в вашей деятельности должно быть:
import com.example.myapp.R;
Убедитесь, что вы установили инструмент построения формы Андроид СДК менеджер
проект правой кнопкой мыши Свойства-> выбора Java библиотека buildpath ПО и добавить android-support.jar за этим шагом.
Перейдите в проект->Свойства->По пути построения Java, чем выбрать заказ и вкладка "экспорт". Установить Android-поддержка .библиотека jar проверено и это в верхней части списка. И очистить и восстановить..это работает для большинства случаев
Я просто имел эту проблему в сотый раз и поняла, что было причиной этого: я создал XML-файл с заглавными буквами в названии. Всех ваших XML-файлов в /Рес
должны совпадать [а-З0-9\\._]
.
Простейшее решение - иногда нужно просто сохранить XML-файл, который вы работали, чтобы получить автогенераторных удара.
Сохраните файл (напр. main.xml) затем удалить файл R.java и посмотреть, если регенерированный R.java устраняет проблему Р решимость.
R
- это генерируемый класс. Если вы используете Android Development Tools (ADT), он генерируется каждый раз при сборке проекта. Возможно, у вас выключена функция 'Build Automatically'.
Проверьте имена XML-файл. Будьте уверены, что они'Снова все в нижнем регистре.
Также убедитесь, что все имена графический ресурс так же все в нижнем регистре. У меня Буквы в названии моего файла JPG, и это вызвало неустранимая ошибка Р прямо напротив моего проекта.
Эта ошибка всплыло на установке х64 Линукс Минт. Выяснилось, что в результате сбоя в АБР
бинарные, потому что обновленный пакет ia32-библиотеки не был установлен. Просто команды `apt-получить установку ia32-библиотеки и перезапуска Eclipse Исправлена ошибка.
Если ваш дистрибутив x64 не имеет с архитектурой ia32-libs, вы'придется идти Мультиархитектурный.
Проверяем #4 и #5 на этот пост: http://crunchbang.org/forums/viewtopic.php?pid=277883#p277883
Надеюсь, что это помогает кто-то.
Вам может потребоваться обновить инструменты SDK. Перезапустите диспетчер SDK для Android, снова и установите новый элемент: для Android SDK строй-инструменты.