Почему 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); 

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

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

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

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

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

Также не забудьте включить свою текущую активность в 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

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