Ответ 1
Проверьте, нет ли каких-либо ошибок в файлах ресурсов или каких-либо недостающих зависимостях. Любой из них приведет к тому, что класс R.java не будет генерироваться кодом и, следовательно, много ошибок, подобных тем, которые вы показали.
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
Если вы строите из ant script, вы должны запустить 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;