Почему R не существует ошибки, входящей в android?

packages/apps/Myfolder/src/com/android/myfolder/MyFile.java:196: package R does not exist
                  addPreferencesFromResource(R.xml.myfile);
                                              ^
packages/apps/Myfolder/src/com/android/myfolder/MyFile.java:344: package R does not exist
        menu.add(0, MENU_SAVE, 0, R.string.menu_save)
                                   ^
packages/apps/Myfolder/src/com/android/myfolder/MyFile.java:346: package R does not exist
        menu.add(0, MENU_CANCEL, 0, R.string.menu_cancel)
                                     ^
packages/apps/Myfolder/src/com/android/myfolder/MyFile.java:454: package R does not exist
                     errorMsg = mRes.getString(R.string.error_empty);
                                                ^
packages/apps/Myfolder/src/com/android/myfolder/MyFile.java:458: package R does not exist
                     errorMsg = mRes.getString(R.string.error_empty);

Ответы

Ответ 1

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

Ответ 2

В моем случае эта ошибка возникла из-за того, что я изменил имя пакета приложения (до публикации в Google Play, конечно), но я забыл обновить атрибут package элемента manifest в моей AndroidManifest.xml файл. Как только атрибут package согласен с новым именем пакета, ошибка исчезла.

Ответ 3

Убедитесь, что у вас есть: пакет "ВАШЕ ИМЯ ПАКЕТА" в java файле, который вызывает класс R

Ответ 4

  • Попробуйте Clean- > Build (Если вы не просто перезапустите eclipse, он просто сработает!)
  • Если вы импортируете проект, убедитесь, что вы выбрали правильный уровень.

Ответ 5

Если вы строите из ant script, вы должны запустить aapt. См. Цель "-resource-src" в $SDK_DIR/tools/ant/main_rules.xml.

Ответ 6

Также не забудьте включить текущую активность в AndroidManifest.xml в теги приложения. Поэтому, если MyFile - ваш подкласс Activity, в нем должно быть что-то вроде этого:

<application 
    android:label="@string/app_name" 
    ... >

        <activity android:name=".MyFile"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/app_name">
            <intent-filter> 
                <action android:name="android.intent.action.VIEW" /> 
            </intent-filter> 
        </activity>
        ..


</application>

Хотя то, что на самом деле зависит от вашей деятельности. Дополнительная информация об этом: http://developer.android.com/guide/topics/manifest/manifest-intro.html

Ответ 7

Вы можете попробовать import packagename.R;