R файл отсутствует Android - PullRequest
7 голосов
/ 30 января 2011

Я использовал Eclipse Helios, но из-за проблем с производительностью я перешел на Eclipse Galileo, установил подключение ADT и добавил папку sdk в настройки Elcipse. Теперь R.java исчез из всех моих проектов. Как я могу это исправить, я сделал Project / Clean, но он не будет генерировать файлы, в моем xml нет ничего плохого, и ни в одном из моих проектов нет out.xml.

Заранее спасибо

Ответы [ 14 ]

21 голосов
/ 21 ноября 2011

По моему опыту, где-то есть ошибка в xml. Затмение, без сомнения, скажет вам, где. После того, как я исправлю ошибку R появляется.

5 голосов
/ 06 июля 2011

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

То, как я это исправил, было:

-Убедитесь, что все "import android.R" были удалены -Чистим еще раз (если это не помогло, перезапустите Eclipse и попробуйте снова)

Или

-Поставить указатели на R-файл в комментарии, например. // setContentView (R.layout.main); -Если все комментарии к файлу R находятся в комментариях, вы должны получать только предупреждения в файле и, возможно, ошибки в другом месте. -Исправьте ошибки и затем раскомментируйте указатели. Иногда eclipse игнорирует некоторые ошибки и удаляет файл R, а затем ничего не говорит об этом, что раздражает, но это исправит это. :)

-Если это все еще не работает, вы можете попробовать создать новый проект и скопировать в него свой код.

4 голосов
/ 11 февраля 2013

создал новый проект в eclipse, затем я импортировал в него файлы примеров, но все еще с той же ошибкой.Возможно, вы захотите попробовать следующее:

  • В Eclipse -> Щелкните правой кнопкой мыши на Project -> Инструменты Android -> Исправить проект

  • .что все ресурсы строчные.

4 голосов
/ 26 мая 2011

У меня была такая же проблема сегодня, и я понял это. Причина, по которой это происходит так часто при включении внешних / примеров файлов, заключается в том, что часто эти примеры ссылаются на макеты в вашем приложении, но не имеют доступа к пакету и поэтому не могут видеть файл R.java в этом пакете. Чтобы прояснить ситуацию, вот начало файла R.java:

/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package com.conceptualsystems.dashboard;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int csc_logo=0x7f020000;
        public static final int icon=0x7f020001;
    }
    public static final class id {
        public static final int activation_code=0x7f070012;
        public static final int alpha_bar=0x7f07000b;
        public static final int alpha_label=0x7f07000a;

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

package com.example.android.apis.graphics;

import android.app.Dialog;
import android.content.Context;
import android.graphics.*;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.SeekBar;
import com.conceptualsystems.dashboard.R;

последняя строка, на которую следует обратить внимание. после явного импорта ресурсов они будут доступны в вашем примере кода.

1 голос
/ 24 июня 2014

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

отл.import com.yourdomain.test.R;

1 голос
/ 14 мая 2013

Есть ошибки в рез. Если у меня есть одинаковые xml-файлы в макете и меню, генерировать не удалось, R.java не генерируется.

1 голос
/ 12 июля 2012

У меня была эта проблема при обновлении с Eclipse / Helios до Eclipse / Juno.

Я установил IDE и затем импортировал существующий (рабочий) проект.Если я затем запустил его в эмуляторе, он запустился, но в исходной версии, хотя java-код был для последней версии.

Затем я выполнил чистку (как объяснялось во многих других публикациях) и (пере) сборку.но затем закончились множеством ошибок из-за пропуска файла R.java.

Проблема оказалась в некоторых «ошибках» в файлах макета XML, которые не были распознаны Eclipse / Helios.В частности, в моем случае были некоторые настройки layout_width = 'match-parent' (и высота), против которых возражала Юнона.Я попытался изменить их непосредственно в файлах xml, но в Juno его не было, и я все равно сообщил об этом как об ошибке «match-parent» (хотя она явно была изменена).

Единственное, что нужно было сделать, этоперейдите к графическому макету, щелкните правой кнопкой мыши, чтобы получить свойства, а затем измените свойства ширины и высоты там.Кроме того, поскольку они уже отображались как «fill-parent», мне пришлось сначала изменить их на «wrap-content», а затем изменить их обратно на «fill-parent».

Как только я это сделалдля всех экземпляров 'match-parent' я мог бы затем выполнить сборку и запустить последнюю версию в эмуляторе.

1 голос
/ 30 января 2011

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

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

0 голосов
/ 30 августа 2016

У меня была похожая проблема.Это потому, что я сохранил нарисованный файл picture.jpg как picture.png, как только я изменил имя на предыдущее, оно начало работать.надеюсь, это поможет кому-то в будущем

0 голосов
/ 05 июня 2015

Это случилось со мной при добавлении новых ресурсов в мой проект. Файл R создается после каждого обновления ресурса.

Ошибка в моем случае неверное имя файла. Один из ресурсов с изображениями имел заглавную букву в названии, что не позволяло сборке создавать файл R. Изменение названия просто сработало.

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

Соглашения о ресурсах: http://developer.android.com/guide/topics/resources/providing-resources.html

...