Android studioでプロジェクトを開いていました。これはウィザードによって生成され、正常に動作しています。
Activity_main.xmlにいくつかの小さな変更を加えた後、MainActivity.Javaに戻すと、Rを解決できないエラーがいくつかの場所で発生します。これを引き起こすために何かをした可能性があります。しかし、xmlを編集したときに何が表示されたのかはわかりません。
誰もこれの解決策を知っていますか? R.Javaはr/release/packege/com /にありますが、問題ありません。
ほとんどの場合、不良XMLファイルが原因です。 XMLファイルは、レイアウトファイル、値ファイル、またはマニフェストファイルにすることができます。 xmlファイルを確認して、プロジェクトを再構築してください。プロジェクトをクリーンアップして再構築することもできます。
また、無効な名前のドロアブルがないことを確認してください。数値ファイル名のドロアブルがありましたが、Androidと相性が悪いため、R.Javaのコンパイルに失敗しました。
クリーニング、再構築、再起動の量は私にとってはうまくいきません。
onlyトリックを行ったのは、Gradleバージョンを3.4.0-alpha02
から3.2.1
。
したがって、代わりに:
dependencies {
classpath 'com.Android.tools.build:gradle:3.4.0-alpha02'
}
使用したもの:
dependencies {
classpath 'com.Android.tools.build:gradle:3.2.1'
}
その変更を行ってからGradle同期を実行した後、すべてが機能しました。
それがアルファリリースに関連するのか、そのバージョンに関連するのか、またはGradleバージョンを変更するのかどうかはわかりません全然は、そうでなければ他のコマンドでは実行できないリフレッシュを強制しますが、そこに行きます。
AndroidManifest.xml
パッケージ名は正しいです。 R.whatever
は赤でマークされました!
以下を実行して、プロジェクトをクリーンアップしてみてください。
Windowsを使用している場合は、CMD
、cd
をプロジェクトディレクトリに開き、gradlew clean
。
同じ問題がありました。strings.xmlでアポストロフィをエスケープするのを忘れていたからです。 xmlファイルで "\ '" never "'"を使用してください!
Android Studio。すぐにではなく、しばらくしてから(おそらくプログラムの再起動後に)スタジオを更新した後、これを取得することがあります。
私のために働いたものは次のとおりです:ツール-Android-Gradleファイルとプロジェクトを同期します。
何らかの理由で、build.gradleファイルを変更した後に表示される[今すぐ同期]リンクをクリックしても、変更は行われません。メッセージはほぼ同じことを言っていても。
私も同じ問題を抱えていました(ごく最近、昼食を食べているときに、帰ってきてWTFになりました)。また、これは単純なHello、Worldプログラムであるため、これらのエラーが隠れる場所はあまりありませんでした。 XMLファイルは問題なく見えました。マニフェストには触れていませんでした。クリーンは何もしませんでした。
そこで、問題を絞り込むために、layout.xmlの一部をコメントアウトしました。案の定、エラーはなくなりました。
そして、私は単にコメントしたことを正確にコメント解除しました...そしてすべてがおかしな話でした。奇妙な!おそらく、レイアウトファイルの再構築を引き起こすために触れる必要のあるいくつかの長引く問題がありました。このような基本的なことは最近は発生しないと思いますが、実際には発生します。
もう一つ! Javaも同様に発生する可能性があります。Javaランタイム環境の状態を知ることは非常に困難です。試してみることがもう1つあります。コンピューターを再起動し、Android Studio、そしてキャッシュを無効にして再起動します。
私の場合、ドローアブルフォルダーにいくつかの新しい画像ファイルを追加したところ、誤ってPNGでGIFをそこに入れていました。私はまだそれらをプロジェクトに組み込んでいませんでした。 GIFを削除してから、クリーンアップして再構築しました。それは私のためにそれを修正しました。
この問題は、パッケージ名の変更の場合に発生します。パッケージ名を変更した後、olderパッケージ名をnewer oneに変更する必要があります。私にとっては、それを変更すると問題は解決しました。その後、xmlファイルでエラーが発生する可能性があり、そこでもパッケージ名を変更する必要があります。それでおしまい。
他のすべてが再起動に失敗した場合Androidが役立つ場合があります。開始時にファイルが新しくロードされ、これによりRの検出が可能になります。
私はこの問題を抱えていましたが、その理由はレイアウトを編集した後Android studioが自動的にソースファイルにインポートを追加したことです:
import Android.R
もちろん、メインのRクラスには、レイアウト内のすべてのシンボルが含まれているわけではないため、すべてが赤くなっています。その行を削除すると解決しました。
編集:Eclipseが 同じ問題 初期に持っていたようです。
Udacityのサンプルプログラムをインポートするときにこの問題が発生しました。 Android Studioのメッセージペインは、エラーがプロジェクトファイルの深いサブディレクトリに.PNGをロードできなかったと言いました。
すべてのサブディレクトリパス名がWindows 7で定義された名前の長さ制限(260文字)よりも大きいPNGであることが判明しました。私はプロジェクトに短い名前を付けました-いくらかのスペースを空けるために-そしてAndroid Studioがコンパイルされました。
Rの問題が発生したばかりで、数時間後、この問題は私のxmlファイルの1つで使用されている地域のスペルであることがわかりました。問題のWordは行動であり、それはアメリカ人による行動と綴られています。私はオーストラリア人であり、特定の単語のつづり方の古い英語の方法を教えられているので、ペニーが落ちる前に何度もそれを見過ぎました。その小さなことですが、それは簡単にこっそりとあなたをネザーの領域に噛むことができ、見つけにくく、多くの時間を浪費する可能性があります。