В моем проекте нет сгенерированного файла R.java
Я делаю учебник Блокнот, упражнение 2. Я начал с создания нового проекта Android и выбрал " Создать из исходного кода", чтобы импортировать загруженные исходные файлы для упражнения.
Но теперь я получаю много ошибок в Eclipse, и проблема в том, что нет сгенерированного R.java
учебный класс. Как я могу решить это? Папка gen/
пустой.
У меня есть ошибки на Notepadv2.java
И в res/layout/note_edit.xml
и оба, похоже, связаны с тем, что генерируется R.java
пропал, отсутствует.
Вот мой import
заявления в Notepadv2.java
:
import android.R;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
Они создаются командой Eclipse Ctrl + Shift + O.
21 ответ
Идти к Project
и ударил Clean
, Это должно, среди прочего, восстановить ваш файл R.java.
Также избавиться от любого import android.R.*
заявления, а затем сделать уборку я упомянул.
Видимо проблема Jonas была связана с неправильными настройками сборки цели. Его целевая сборка была установлена на Android 2.1 (SDK v7), где в его макете XML использовались элементы Android 2.2 (SDK v8) (параметр layout match_parent
), из-за этого у Eclipse не было возможности правильно сгенерировать файл R.java, который вызвал все проблемы.
После целого дня, пытаясь выяснить, почему R-файл не был сгенерирован, я обнаружил, что после установки Android SDK Tools r22 была доступна новая опция в Инструментах: Android SDK Build Tools.
После установки R файл был сгенерирован заново.
Теперь вы импортировали android.R
вместо вашего собственного R... Попытайтесь взглянуть на свое представление "проблемы", если у вас есть ошибки в одном из ваших XML-файлов... избавиться от import android.R
и закомментируйте все случаи использования R.*
Очистка должна помочь, когда в вашем проекте нет других ошибок, поэтому проверьте свои XML-файлы или имена файлов в папках res.
I Had a similar problem
Лучший способ выявить эту проблему - определить предупреждения Lint:: * Щелкните правой кнопкой мыши на project
> Android Tools
> Run Lint
: Common Errors
*
- Это помогает нам показать некоторые ошибки, с помощью которых мы можем исправить вещи, которые делают R.java снова возрожденной
- Следуя вышеуказанным шагам, я обнаружил, что добавил несколько файлов изображений, которые я не использовал -> я удалил их -> это решило проблему!
Наконец-то очистите проект!
Возможно, вы используете неправильную версию SDK. Щелкните правой кнопкой мыши по вашему проекту. Выберите Свойства -> Android. Обратите внимание, что 2.2 является последней версией SDK. Проверьте это и посмотрите, скомпилируется ли он...
редактировать
Также сделать чистку после этого
Обновите Android SDK Tools в Android SDK Manager до версии 22.0.1. Это сработало для меня.
У моего коллеги есть эта проблема - перезапуск затмения исправил ее.
- Удалите строку "import R.java" из своего кода. Это сделано Eclipse для решения проблемы.
- Перейдите в файл "note_edit.xml". Везде, где вы найдете "match_parent" в качестве значения атрибута, замените его на "fill_parent" или "wrap_content".
- Сделайте чистую сборку. R.java будет сгенерирован автоматически.
Если у вас возникла эта проблема, это означает, что свойство match_parent не поддерживается в вашем контенте. Вместо этого используется "fill_parent".
"fill_parent: представление должно быть такого же размера, как и его родитель (без отступов). Эта константа не рекомендуется, начиная с уровня API 8, и заменяется на match_parent."
У меня просто была проблема, когда ранее работавший проект перестал работать со всем, что ссылается на R, которое было опубликовано как ошибки, потому что R.java не генерировался.
** * ПРОВЕРЬТЕ КОНСОЛЬНЫЙ ВИД СЛИШКОМ **
Я (используя Finder) сделал резервную копию основного значка (даже не используется), поэтому одна из папок res (hdpi) имела
icon.png копия icon.png
Консоль указала, что "копия icon.png" не является допустимым именем файла. Больше нигде не было отмечено ошибок - нет красного X в папках res....
но заменив пробелы на "_" и все вернулось на круги своя....
Это на самом деле ошибка в коде учебника. У меня была та же проблема, и я наконец понял, что проблема была в файле "note_edit.xml".
Некоторые атрибуты layout_heigh/width были установлены на "match_parent", что не является допустимым значением, они должны быть установлены на "fill_parent".
Это приводило к ошибке, которая приводила к сбою генерации файла R.java. Итак, если у вас возникла эта проблема или похожая, проверьте все ваши XML-файлы и убедитесь, что ни в одном из них нет ошибок.
Вы установили плагин для Android?
Ваш проект должен быть типа Android.
Просто перезагрузите Eclipse, чтобы решить эту проблему, так как рабочая область будет только что построена! идти к
Файл -> Перезагрузить
Это самый простой способ избежать разочарования, перейдя в Build,properties, бла-бла.....
Да, у меня та же проблема. я исправил ее, выбрав "Проект" на панели инструментов. Очистите проект, а также сбросьте параметр автоматической сборки несколько раз, чтобы изменить имя XML-файла в формате соответствия [az][0-9] заглавные буквы должны быть изменено
У меня эта проблема из-за некоторой внутренней ошибки в плагине Android. Когда я пытался открыть макет XML, у меня появляется ошибка:
The project target (Android 2.2) was not properly loaded.
К счастью, в моем случае перезапуск Eclipse и очистка проекта помогли.
Я сталкивался с этой проблемой много раз. Корень проблемы в том,
- Целевая версия SDK не выбрана в настройках проекта.
или же
- Файл default.properties (рядом с manifest.xml) отсутствует или не установлен минимальный уровень SDK.
Проверьте эти два и сделайте чистую сборку, как предложено в предыдущих вариантах, она должна работать нормально.
Проверьте наличие ошибок на вкладке "Проблемы" или "Консоль".
Наконец: у вас / eclipse есть права на запись в папку проекта? (также менее вероятно, это место на диске)
Я также испытывал такие проблемы, как R.java
Отсутствие, а также затмение с жалобами на ошибки в моем коде (отображение красного значка X на файлах классов), когда ошибок не было.
Единственный метод, который я нашел для решения этой проблемы, это очистить проект, выбрав Project > Clean
Это, кажется, решает проблему для меня, запустив Eclipse 3.5.2
Кажется, что при переходе на последнюю версию SDK (2.2) сборка больше не создает файл R.java. Или, по крайней мере, не так, как мы привыкли. Чтобы решить эту проблему, удалите пакет из папки gen и очистите его без сборки. Это решает проблему для меня.
Вот еще один: я только собирался плакать, но сумел получить мою любимую R.java
обратно:
Я давно ничего не обновлял в своей установке Android. Мне нужна была особенность и я запустил SDK Manager. Помимо того, что мне было нужно, я в основном проверил все, что он хотел обновить. Потом мой R.java
исчез в Затмении.
Короче говоря, в SDK Manager появилась новая запись "Android SDK Build-tools", которая, как мне кажется, отсутствовала в последний раз, когда я обновлялся. Это действительно очевидное имя. После того, как я установил это, Eclipse дал мне R.java
назад.
Это может также быть проблемой неправильного файла макета XML, например. Если ваши xml-файлы недействительны (содержат ошибки), R-файл не будет сгенерирован заново после очистки. Если вы исправите это, файл R будет сгенерирован автоматически снова.
Согласно моему опыту я могу подвести итог:
1. Проблема в основном связана с синтаксическими проблемами, которые могут возникнуть в XML-файлах.
2. Вы можете случайно скопировать AndroidManifest.xml в подпапки.
1. Один файл с расширением не определен.
После проверки всего этого перейдите в Project->Clean или просто удалите папки /bin и /gen.
java .... than debug.. или удалите строку 'import R.java' из своего кода. Это сделано Eclipse для решения проблемы. Перейдите в файл "note_edit.xml". Везде, где вы найдете "match_parent" в качестве значения атрибута, замените его на "fill_parent" или "wrap_content". Сделайте чистую сборку. R.java будет сгенерирован автоматически