web-dev-qa-db-ja.com

なぜ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);
14
garima

リソースファイルにエラーがないか、依存関係が欠落していないかを確認してください。これらのいずれかにより、R.Javaクラスがコード生成されないため、表示したようなエラーが多数発生します。

12
michaelg

私の場合、このエラーは、アプリのパッケージ名を変更したために発生しましたが(もちろん、Google Playに公開する前に)、package要素のmanifest属性を更新するのを忘れました。私のAndroidManifest.xmlファイル。 package属性が新しいパッケージ名と一致すると、エラーはなくなりました。

19
Trebor Rude

次のものがあることを確認してください:Rクラスを呼び出すJavaファイルのパッケージ 'YOUR PACKAGENAME'

18
Eugene
  1. Clean-> Buildを試してください(Eclipseを再起動するだけでなく、うまくいきました!)
  2. プロジェクトをインポートする場合は、適切なレベルを選択してください。
3
vkris

また、アプリケーションタグ内の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

0
fantacide

Antスクリプトからビルドする場合は、aaptを実行する必要があります。 $ SDK_DIR/tools/ant /main_rules.xmlの「-resource-src」ターゲットを参照してください。

0
Scott C Wilson