为什么R不存在错误进入android?

时间:2010-12-27 04:53:05

标签: android user-interface compilation r.java-file

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);

7 个答案:

答案 0 :(得分:19)

在我的情况下,发生此错误是因为我更改了应用的包名称(当然,在发布到Google Play之前),但我忘了更新package的{​​{1}}属性我的manifest文件中的元素。一旦AndroidManifest.xml属性与新软件包名称达成一致,错误就会消失。

答案 1 :(得分:18)

确保您拥有: 在调用R class

的java文件中打包'YOUR PACKAGE NAME'

答案 2 :(得分:12)

检查资源文件中是否有任何错误或任何缺少的依赖项。这些中的任何一个都会导致R.java类不会被代码生成,因此会出现很多错误,例如您所显示的错误。

答案 3 :(得分:3)

  1. 尝试清洁 - >构建(如果不只是重新启动eclipse,它只是工作!)
  2. 如果您要导入项目,请确保选择适当的级别。

答案 4 :(得分:0)

如果您使用ant脚本构建,则必须运行aapt。请参阅$ SDK_DIR / tools / ant / main_rules.xml中的“-resource-src”目标。

答案 5 :(得分:0)

还要确保在应用程序标记内的AndroidManifest.xml中包含当前的Activity。因此,如果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

答案 6 :(得分:-4)

您可以尝试导入packagename.R;