これは非常に古い質問ですが、それでもまだ頻繁に起こり、本当に包括的な答えはありません。
私が認めたい以上に何度もこの問題を経験しました。これは、プロジェクトの構造が予想と一致しないことに主に関係するさまざまな問題が原因で発生する可能性があります。これが私が経験したすべての問題のリストです:
EclipseからAndroid Studioへのインポートは、特に古いバージョンのAndroid Studioで、常にスムーズに機能するとは限りません。正しいディレクトリツリーを使用していることを確認してください。適度に成熟したアプリの場合、次のようになります。
AppName/ // AppName is your app's name, obviously
.gradle/ // This is a compiler created directory. You should normally leave it alone
.idea/ // Ditto
build/ // This too
gradle/ // And this
app/
build/
libs/
src/
androidTest/ // Tests based on the Android instrumentation runner should go here
main/
java/
fully/ // Typically com
qualified/ // the domain name. Longer package
// names may have deeper folder trees
AppName/ // All your java files go here
res/
drawable-*/ // One of these for each resolution you support
layout/ // All of your general layouts
menu/ // All of your menu layouts
values/ // All of your resource xml files
xml/ // PreferenceScreen layouts go here
AndroidManifest.xml
debug/
test/ // Pure jUnit tests should go here
.gitignore
app.iml
build.gradle // This is the gradle file you should be making most changes to
proguard-rules.pro
.gitignore
build.gradle // This gradle file should mostly be left alone
gradle.properties
gradlew
local.properties
AppName.iml
settings.gradle
IDEでは、このように表示されない場合があります。さまざまな方法でファイルを表示するファイルツリーの上にドロップダウンがあり、私のシステムではデフォルトでAndroidと呼ばれるものになっており、ファイルをさまざまなタイプに分割します。Android Studioは、別のフォルダーのみを含むフォルダーを1行に折りたたむため、Projectと呼ばれる問題からこの種の問題を修正する方が簡単で、OSのファイルシステムから直接簡単に修正できます。
特にアプリの名前を変更する場合は、ソースツリーmain / java / com / domain / AppNameが更新されていることを確認する必要があります。また、AndroidManifest.xmlのパッケージタグが正しいことを確認してください。
GradleファイルまたはAndroidManifest.xmlのいずれかにエラーがある場合、Android Studioがリソースファイルを適切に構築できなくなります。特に1.0より前のバージョンからAndroid Studioをアップグレードすると、Gradleファイルが壊れることがあります。これは、Gradleプラグインの古いバージョンのサポートを停止するため、バージョン番号を更新する必要がある場合があります。現在のバージョンを見つけるのが難しい場合があります。本日7/17/15現在、私のアプリはで問題なくコンパイルされていますcom.android.tools.build:gradle:1.2.3
。これは最も外側のgradleファイルの依存関係ブロックにあり、
AndroidManifestが存在しないドローアブルまたは文字列のリソースまたはアクティビティを参照している場合、破損してこのエラーが発生します。場合によっては、存在しないドローアブルまたは文字列リソースを参照していると、このエラーが発生することがあります。
リソースに破損したファイル、または無効なxmlファイルがある場合、このエラーが発生します。
私の経験では、Android Studioが理由もなくしゃっくりすることが時々あり、それを再起動する必要があります。理由はわかりませんが、うまくいく場合もあります。
同じ名前の2つのxmlリソースがあり、互いにオーバーライドしないディレクトリにある場合、この問題が発生する可能性があります。たとえば、ターゲットデバイスに応じてお互いをオーバーライドするため、drawable-mhdpiとdrawable-xhdpiで同じ名前を使用できますが、レイアウトとメニューで同じ名前を使用すると、問題が発生します。ファイルの1つを名前変更または削除します。
一部のリソースのみにこの問題がある場合、それらのリソースはおそらく間違ったディレクトリにあります。
あるケースでは、Android Studioを完全に再インストールする必要がありました。何が悪いのかわかりませんが、うまくいきました。
あるケースでは、プロジェクト全体を別のディレクトリに移動し、それを新しいプロジェクトとして再インポートしました。何が悪いのかわかりませんが、うまくいきました。
名前に予約語が含まれるXMLファイルは、この問題を引き起こす可能性があります。名前を変更するか削除してください。
Gradleファイルが、インストールしていないバージョンのビルドツールを参照することになるいくつかの方法があります。Gradleを変更するか、適切なビルドツールをダウンロードして、これを修正します。
最後に、問題をすべて修正した後、Gradleプロジェクトをクリーンアップする必要があります。これを行うには、上部の[ビルド]メニューに移動し、[プロジェクトのクリーンアップ]を選択します。