R を解決できません - Android エラー
-
23-08-2019 - |
質問
新しい Android SDK をダウンロードしてインストールしました。簡単なアプリケーションを作成してテストしてみたいと思いました。
ウィザードは次のコードを作成しました。
package eu.mauriziopz.gps;
import android.app.Activity;
import android.os.Bundle;
public class ggps extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
しかし 日食 エラーが発生します
Rが解決できない
オンライン
setContentView(R.layout.main);
なぜ?
追伸:という名前の XML ファイルがあります。 main.xml
下 res/layout/
.
解決 7
ウィルは正しかったと述べ内容
Rは、あなたの>リソースを識別するために使用される定数を保持して、自動的に生成されたクラスです。あなたはR.javaファイルを持っていない場合、私はクローズし、プロジェクトを再度開いたり>プロジェクト>すべてのビルドしようとして推薦する(これは、1.5 SDKとEclipseの>にGEN / eu.mauriziopz.gps / R.javaになります) (>ヨーゼフによって推奨されているように存在しながら選択する「自動的にビルド」)。それよりも動作しない場合、問題はここに再び>ポストよりも再作成されている場合、新しいプロジェクトを作ってみると、私たちは、より詳細に行くよ。
が、私は最初のものを引き起こしていた別の問題があったことが判明しました。 SDKディレクトリ内のツールを実行する権限を持っていなかったので、それはこのようにそれがR.java
ファイルを構築していなかった、Eclipseのために存在していなかったようだった。
だから、パーミッションを変更し、「自動的にビルド」を選択問題を解決します。
他のヒント
、同様にこの問題を追跡した後、私はAndroidのドキュメントにこのノートを見つけます:
http://source.android.com/source/using-eclipse.html >
Androidのサンプルチュートリアルを通過する間に*注:Eclipseは時々で「インポートandroid.R」ステートメントを追加するのが好き リソースを使用してファイルのトップ、 場合は特にあなたがEclipseを頼みます ソートまたはその他の輸入を管理します。この あなたのがの破るために作る原因になります。見て これらの誤ったインポートの実行 文は、それらを削除します。*
、私は多くの場合、 Ctrlキー + "整理輸入" に + O コマンドをシフトし、生成し使用します欠落しているimport文。時には、これはあなたが構築したときに自動的に生成されR.java
クラスを隠してしまう間違ったインポート文を生成します。
私はRに問題があったたびに生成された、あるいは消失していない、これは建設されてからアプリケーションを防止するXMLレイアウトファイルにいくつかの問題によるものであった。
あなたが取得するたびに
Rが解決することはできません。
その後、/res
ディレクトリをチェックし、その中にいくつかのエラーを持っているいくつかのファイルが存在しなければならない、それが構築されてからアプリケーションを防止しています。例えば、それは、レイアウトファイルであってもよく、それはいくつかの欠落リソースが原因されるかもしれないが、あなたはすでにXMLファイルでそれを定義します。
あなたは(のみ[-Z0-9_。]含まれていてもよいファイルの命名規則に準拠していないのres /ドロウアブル-MDPIのようなフォルダ内の任意の追加、でも未使用(!)、または参照されていない(!)の画像をお持ちの場合)、R.javaクラスがイベントに呼ばれ、他のすべての投稿の連鎖を引き起こし、生成しないことがあります。それが役に立てば幸い!
私のプロジェクトはr.java.atに先頭を含める必要があり、R.layout.mainは、いくつかのコードを追加した後、それが動作しない、good.But仕事、そしてエラーがR.layout.mainが解決することはできませんです。問題は何ですか?
あなたの輸入を見てください。チャンスはラインということです。
import android.R;
が存在します。その場合は、プロジェクトがデフォルトのAndroidリソースクラスとRを解決できるようにするために、それを削除しますが、と1つの自動生成あなたの/ resを/フォルダから。
そして、この問題が発生することがあり、別の事ます:
私は新しいADT(V 22)を設置しました。それはgen
が含まR.java
フォルダを作成し停止しました。解決策は、Android SDKマネージャーからのビルドツールも新しいAndroidのSDKをインストールすることでした。
ソリューションはこちらの
を見つけましたR.java
Android Eclipseプラグインがアプリケーションの構築中に作成するファイルです。 R.java
「gen」ディレクトリの下に作成されます。このファイルは、「RES」ディレクトリの情報から生成されます。eclipseメニューで「プロジェクト」 - >「クリーン...」を選択すると実行すると、削除してから再生します R.java
ファイル。
「Rは解決できません」という問題は、パッケージ名を変更したときに発生します AndroidManifest.xml
ファイル。Androidパッケージ名を使用して、「GEN」ディレクトリの下にサブディレクトリを作成します。 R.java
ファイル。
Eclipseには、クリーンな実行に問題がある可能性があります。 R.java
ファイルは、Androidパッケージ名を変更したときです。次のいずれかのサブディレクトリの名前を変更できます。 gen
新しいパッケージ名を一致させるか、パッケージ名を古い名前に戻すことができます。クリーンを実行してから、パッケージ名を必要な新しい名前に変更します。これは、パッケージ名を変更している間にEclipseが構築しようとするのを止める場合に最適に機能します。「プロジェクト」メニューの下で、オプションを「自動的にビルド」するオプションを外し、「クリーン...」ダイアログが「すぐにビルドを開始する」必要があるかどうかを尋ねるときにボックスをチェックしてください。パッケージ名。名前を変更した後、「自動的にビルド」を再度オンにすることができます。
注意してください。 AndroidManifest.xml
ファイルパッケージ名はJavaパッケージ名と一致しません、Eclipseは「インポート」を自動的に追加することになりますu003Cyour Android package name>.r; "すべてのライン .java
Rへの参照があるファイル変更する場合 AndroidManifest.xml
パッケージ名、Eclipseがこれらの追加されたすべてのインポートをすべて更新しない場合があります。そのような場合は、Eclipse リファクタリング (オルタナティブ +
シフト + R)Javaファイルの1つでインポートステートメントを新しいものに変更する AndroidManifest.xml
パッケージ名。「自動的にビルド」を無効にしている間、これを行うのが最善です。
Rは、あなたのリソースを識別するために使用される定数を保持して、自動的に生成されたクラスです。あなたはR.javaファイルを持っていない場合、私はクローズし、プロジェクトを再度開いたり>すべてのプロジェクトをビルドしようとしてをお勧めします(これは、1.5 SDKとEclipseでGEN / eu.mauriziopz.gps / R.javaだろう)(とヨーゼフによって推奨されているように存在している間)、「自動的にビルド」を選択。それよりも動作しない場合は、問題が再びここに投稿よりも、再作成されている場合、新しいプロジェクトを作ってみると、私たちは、より詳細に行くよ。
Eclipseを再起動して、すべてのファイル、クリーンなプロジェクトを閉じます。
これはAndroidManifest.xml
にチェックする価値があります。属性package
が正しい値を持っています。
これは、次のとおりです。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.correct.package.name"
...
あなたはそれを変更した後、は、R.java
が再生成されます。
このエラーは、パッケージのルート名前空間とは異なる名前空間に活動を追加することによって発生することができます。
com.example.myapp
はあなたのパッケージのためのルートの名前空間である場合は、たとえば、あなたはその後com.example.myapp.activities
名前空間に活動を追加することができます。
このは「Rが解決することはできません」というエラーが生成されます。
インポートを修正するには、あなたの活動のデフォルトの名前空間のRはする必要があります:
import com.example.myapp.R;
前の回答の優れた提案に加えて、Android ターゲットが設定されていることを確認してください。
- プロジェクトを右クリックします
- プロパティの選択
- 左側のメニューで「Android」を選択します
- 適切なプロジェクト ビルド ターゲットの横にあるボックスにチェックを入れます。
- 「適用」をクリックして「OK」をクリックします
編集:1年後、別の原因が見つかりました。ドローアブルフォルダーに .png 画像と同じ名前の .jpg 画像がありました。コード内でこの画像を参照すると、プログラムが混乱し、「R を解決できません」エラーが発生したに違いありません。
必ず、AndroidのビルドツールフォームSDKマネージャをインストールしてください。
このプロジェクトは、右のこれらのステップに従ってくださいプロパティ - > Javaのビルドパスにライブラリを選択して、追加のandroid-support.jarクリックします。
を選択し注文およびエクスポート]タブよりも、プロジェクト - >プロパティ - > Javaのビルド・パスに移動します。ライブラリは、リストの一番上にそれをチェックし、アップの.jarアンドロイド・サポートを設定します。そして、清潔でrebuild..Itは、ほとんどの場合のために働く。
私はちょうど万時間のために、この問題を持っていたし、それを引き起こしていたものを実現:私は名前では大文字とXMLファイルを作成しました。 /res
のすべてのあなたのXMLファイル名は[a-z0-9\\._]
と一致している必要があります。
最も簡単な解決策 - 。時には、あなただけのあなたがキックする自動発生を取得するために作業していたXMLファイルを保存する必要があります。
(例えばmain.xml)ファイルを保存し、その後R.javaファイルを削除し、再生成R.javaがRの解決の問題を解決するかどうかを確認します。
R
は、生成されたクラスです。あなたがAndroidの開発ツール(ADT)をrel="noreferrer"> href="http://developer.android.com/guide/developing/eclipse-adt.html" に使用している場合、それはいつでも生成されますプロジェクトが構築されています。あなたはオフになって「自動的にビルド」している可能性があります。
XMLファイル名を確認してください。彼らはすべて小文字にしていることを確認します。
また、任意の画像リソース名はすべて小文字でもあることを確認してください。私は私のJPGファイルの名前に大文字を持っていた、そしてそれは右の私のプロジェクト全体でR未解決エラーの原因となっています。
このエラーは、私のx64のLinuxのミントのインストールに巻き起こっ。 ADB
パッケージがインストールされていなかったので、結果はia32-libs
バイナリに失敗だったことが判明しました。単にapt-get install ia32-libs
を実行し、Eclipseをリニューアルすると、エラーを修正します。
、あなたがMultiarchを移動する必要があります。
この記事に#4、#5を確認します。 http://crunchbang.org/forums/viewtopic.php?pid=277883#p277883 の
これは誰かに役立ちます願っています。
あなたは、SDKツールをインストール/更新する必要があります。あなたのための1つのワークを固定し、削除1でのAndroid SDK Build-tools.one <のhref =「https://i.stack.imgur.com/HAnom.png」:AndroidのSDK Managerが再び再起動して、新しいアイテムをインストールします。 REL = "noreferrer"> の
あなたは、SDKツールを更新する必要があるかもしれません。新しいアイテムを再びAndroidのSDK Managerを再起動してインストール:AndroidのSDKのビルド・ツールを。
私もこの問題を抱えていました。それは私がうっかりサイレントエラーの原因となったstrings.xml
ファイルから「APP_NAME」の文字列リソースを削除していたことが判明しました。私はそれを再び追加すると、Rクラスが正常に生成され、すべてが戻って稼働していた。
あなたの新しいXMLレイアウトファイル名の小文字を作るようにしてください。例えば、代わりmy_file.xml
のmyFile.xml
を使用します。
さらに別の理由 R.java
次のようなディレクトリがある場合、自動生成されない可能性があります。 解像度/ドローアブル-HDPI, res/drawable-mdpi, 、 または res/drawable-ldpi.
1.6 以降ではこれらのディレクトリを使用できるようですが、1.5 ではこれらのディレクトリは必要ありません。これらのディレクトリを削除すると、 R.java
再び自動生成を開始しました。
私はAndroidの8の例を持っていたとAndroid SDK 7を使用しようとしていました。私はプロジェクトを閉じてアプリケーションフォルダを再度開くとAndroid 8 SDKを使用することを選択した場合は、Rファイルを見つけることができました。この情報がお役に立てば幸いです。
私の場合、私は私のAndroidManifest.xml
にエラーが発生しました。他の人はあなたのXMLファイルがエラーから自由でなければならないと述べているが、私は唯一のres /フォルダに探していました。検索となど、多くの可能性のあるエラーを修正し、問題はよく自分自身を解決する可能性があります。
これは、プロジェクトの作成時に指定したMinSDKのバージョン番号でしばしばです。例:
あなたは2.1を最小にしたい場合は、、アンドロイド2.1は実際にAPIレベル7である。
あなたは、私はあなたがダウンロードしてインストールSDKを参照するときに話していますかを見ることができます。あなたが(例えばC:\android-sdk-windows
)にSDKをインストールした場所に移動し、「プラットフォーム」という名前のフォルダを開きます。あなたは、テキストエディタで開いたときに、あなたに対応するプラットフォームのバージョンを表示しますsource.properties
ファイルがあることを開く場合は、フォルダとして表示され、「アンドロイド-7」のようなものを見て、されます。
、「APIレベル」という名前のそのリストの最後の列は、あなたがMinSDK設定を取り込む際に探している数を示します。
これはおそらく、プロジェクト>世代>パッケージ名> R.javaます。
の下に作成されていないR.java
ファイルになり、最も一般的なミスの一つであります main.out.xml
を削除します。私はこれに新たなんだと、まだこのファイルが使用されかわからないが、それは問題をクリア取り外します。
残念ながら、既存の質問はどれも役に立ちませんでした。私の問題はプラットフォーム固有のようであるため、これは次の場合にのみ機能する可能性があります Ubuntu 64 ビット (私は現在 Ubuntu 12 を使用しています)。最初は、「問題」ウィンドウが表示されませんでしたが、すでに解決策が示されており、64 ビット環境では 32 ビット ライブラリが必要であることが示されていますが、これが不足している可能性があります。
sudo apt-get インストール ia32-libs
パッケージをインストールしてプロジェクトを再構築したところ、問題は解決しました。