14

最近、IntelliJIdea12に切り替えました。

Androidでプロジェクトを作成し、すぐに問題が発生しました:R.javaでIDが生成されません

プロジェクトの再構築は役に立ちません。

たぶんIntelliJIdeaで、私には微妙なことが知られていないのでしょうか?

エラー:

12-01 16:08:15.067: ERROR/AndroidRuntime(7108): FATAL EXCEPTION: main
android.content.res.Resources$NotFoundException: String resource ID #0x1
at android.content.res.Resources.getText(Resources.java:266)
at android.widget.TextView.setText(TextView.java:3624)
at com.example.poem_new.MyActivity.invalidateCounters(MyActivity.java:41)
at com.example.poem_new.MyActivity.access$000(MyActivity.java:11)
at com.example.poem_new.MyActivity$1.onTextChanged(MyActivity.java:29)
at android.widget.TextView.sendOnTextChanged(TextView.java:8027)
at android.widget.TextView.handleTextChanged(TextView.java:8074)
at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:8454)
at android.text.SpannableStringBuilder.sendTextChange(SpannableStringBuilder.java:892)
at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:352)
at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:266)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:443)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:420)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:29)
at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:669)
at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:188)
at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:149)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:315)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:85)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:4945)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

R.javaファイルが空です:

    /* This stub is for using by IDE only. It is NOT the R class actually packed into APK */
public final class R {
}
4

6 に答える 6

13

あなたが観察しているのは、おそらくアイデア12の設計による動作です。

http://youtrack.jetbrains.com/issue/IDEA-99045

「これはIDEA12の動作であり、genフォルダーに完全なR.javaを生成するのではなく、コンパイル中にIDEAのシステムディレクトリに生成します。」

あなたの場合、調べてください~/.IntelliJIdea12\system\compiler\YOUR_PROJECT_NAME.RANDOM_STRING\.generated\aapt\YOUR_PROJECT_NAME.RANDOM_STRING\production\package\R.java

このファイルは最新であり、必要なすべてのIDが含まれている必要があります。

また、ある種の内部アイデアマジックによって、オートコンプリート、使用状況検索などのアイデアの機能に接続する必要があります。

空のR.javaは正常です(誤解を招く可能性がありますが、Jetbrainsはこの動作を変更する予定です)。

于 2013-02-04T09:19:25.817 に答える
2

私は同じ問題に遭遇しました。Eclipseにうんざりしていたので、新しいIDEを試してみることにしました。私はAndroid用の新しいプロジェクトを新しいモジュール内に作成しました(コンパイルして実行するためのBeginning Androidの例を作成しようとしています)。新しいモジュールを作成すると、genを含む通常のディレクトリが作成されました。ソースファイル、マニフェスト、resディレクトリをコピーしました。この問題に遭遇した場合、IDEAはRが何であるかを理解できませんでした。私は次のことをしました:

  • android.Rのインポートを削除します
  • genディレクトリを削除します

明確なビルド生成が再表示された後、プロジェクトは正常でした。

Hojeそれは誰かを助けます。

于 2013-05-30T15:47:19.740 に答える
2

すべてのintellijウィンドウを閉じ、プロジェクトフォルダーの名前を変更して再度開くと、問題が解決しました。

アップデート:

Intellijは、生成されたファイルをユーザードキュメントの独自のフォルダーに保存する傾向があります。したがって、この状況の別の方法は、キャッシュファイルを無効にすることです。ファイルメニューに移動し、キャッシュの無効化を選択すると、intellijが再起動し、キャッシュやその他の必要なファイルが再生成され、すべて問題ありません。

于 2013-07-05T14:09:51.390 に答える
0

レイアウトに何も含まれていないようです。プロジェクトでres/layoutディレクトリを展開する場合は、main.xmlファイルをダブルクリックします。ボタンなどを追加してIDを付けるだけです。それは渦巻くはずです

于 2014-07-19T04:15:42.247 に答える
-1

この問題は、Projectjavaコンパイラがandroidjavaコンパイラと異なる場合に発生します。プロジェクト設定を変更すると、クリーンなプロジェクトが機能します。問題が解決しない場合は、プロジェクトのプロパティに移動-> android-> Androidのバージョンを選択してから、コンパイルします

于 2012-12-14T17:58:00.807 に答える
-5

「R.id」を使用しているコメントにコード行を作成してから、プロジェクトを実行します。

その後、次回はコメントを削除して再実行します。

うまくいけば、それはうまくいくでしょう

于 2012-12-14T20:08:27.823 に答える