Android Studioが突然シンボルを解決できない


207

Android Studio 0.4.2は問題なく動作していましたが、今日開いたところ、ほとんどすべてが赤で、オートコンプリートが機能していませんでした。インポートを見ると、ASはandroid.support.v4を突然見つけられないと言っているようです(未使用のインポートを削除するオプションを提供しています)。(ただし、android.support.v7は問題ないようです)。

私が試したこと:

  • プロジェクトを再構築する
  • プロジェクトの掃除
  • Gradleファイルとの同期
  • プロジェクトを閉じ、ASを閉じ、再起動/再度開く
  • ファイル>キャッシュの無効化/再起動
  • リントを調べたところ、何も明らかではなかった
  • SDKマネージャーですべてのサポートライブラリが最新であることを再確認する
  • 私のBuild.gradleを調べます。変更はなく、通常と同じですが、常に機能していました。

ここにそれが関連している場合があります:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.android.support:gridlayout-v7:19.0.0'
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
    compile project(':libraries:facebook')
    compile files('libs/core.jar')
}

[Gradleと同期]をクリックして[プロジェクト設定]を開くと、ライブラリエラーが重複しており、未使用のものを削除するように指示する赤いエラーが表示されます。 ここに画像の説明を入力してください

私のプロジェクトはコンパイルして正常に動作しますが、オートコンプリートが本当に必要です!! 誰か提案はありますか?

ここに画像の説明を入力してください


66
Android Studioの更新ごとにプロジェクトが壊れるので、もううんざりです。なぜ彼らは使用可能なバージョンを保持してリリースできないのでしょうか。
Konrad Morawski、2014

3
ファイルをクリーニングまたは削除する前に、まずこの回答を読んでください。それはあなたの問題を解決するかもしれません。stackoverflow.com/a/19223269/513413
Hesam

16
「キャッシュの無効化/再起動」がうまくいきました。
Eagle_Eye 2015年

1
同じ問題を抱えていたし、このSOポストに答えを固定stackoverflow.com/a/30828772/1550233
johnw182

ユーザーが削除されません手動で何もして、この答えを受け入れるstackoverflow.com/a/22901534/7767664
user924

回答:


238

あなたはすでに役立つと思われるほとんどのもののリストを下に行きましたが、あなたは試すことができます:

  • Android Studioを終了する
  • プロジェクトをバックアップする
  • すべての.imlファイルと.ideaフォルダを削除します
  • Android Studioを再起動してプロジェクトを再インポートします

ちなみに、[プロジェクト構造]ダイアログに表示されるエラーメッセージは、大部分が偽物です。

更新:

Android Studio 0.4.3はカナリア更新チャネルで入手でき、これらの問題のほとんどを解決できると期待されます。残っている問題があるかもしれません。0.4.3でそれらが表示された場合は、お知らせください。すべてのコードパスを確実に処理できるように、再現するための信頼できる一連の手順を提供してください。


3
これでうまくいきました。私はこれで気が狂っていました、それを理解しようとする一日でした!答えてくれてありがとう。
Patrick Kafka

25
私にとっては、.ideaのライブラリフォルダーと、gradleを使用したプレス同期プロジェクトを削除するだけで十分でした。
Gabriel Ittner、2014年

2
私は0.8.9と同じ問題を抱えていると運とここに記載されているすべてのソリューションを試してみました:(
レミーDAVID

3
AndroidStudio 1.2 RCでは動作しませんでした。これは悪夢です。
RED_ 2015

7
これはまだ2018年に起こっており、あなたの答えは役に立ちました。私はこれが修正されればいいのに... AS 3.1.1で発生しました。
Demogorii

302

ここで前述したことのどれも、実際に私のために機能しませんでした。しかしInvalidate Caches/Restart、問題を修正したように見えるファイルメニューでこのメニューエントリを見つけました。

バックグラウンドで何が起こったのか本当にわかりませんが、Android Studioが再び起動したときに、ステータスバーIndexing...が1分ほど言ったので、どうやら不思議でした。

参考までに、Android Studio 0.5.4を使用しています。


2
0.5.9で私のために働いた
父親スタック

19
私にとって、Android Studios 0.8.2のロード中に電源障害が発生し、Javaインポートが認識されず、すべてが赤でした。これでうまくいきました、ありがとう!
Simon、

2
私はAndroid Studio 1.0.2を使用していますが、プロジェクトを開いたときに、赤いエラーでいっぱいでした。私はそれをandroid studio-> file-> invalidate chaches / restartで解決しました。プロジェクトが再開したとき、それは機能しました..赤のエラーはあり
ません

4
Android Studio 1.1.0。私も電源障害があり、これでうまくいきました。
Phito

2
これが正しい答えになるはずです。Android Studio 1.4 finalで確認しました。
Davideas、2015年

58

リンクをたどると、うまくいきました。

1.)Android Studioの左上にあるメニューから[ファイル]オプションを選択します。

2.)オプションを選択します:「キャッシュの無効化/再起動...」ダイアログが開きます。

3.)オプションの最初のボタンをクリックします:「無効にして再起動」

4.)スタジオを閉じて再起動します。プロジェクトのインデックス作成を開始します。

それは私の問題を解決しました:

ファイル->キャッシュの無効化/再起動->無効化して再起動

出典:https : //www.youtube.com/watch?v=FX_gCTpqhwM



Android Studio 3.5.3で私のために働いた
flawyte

13

Android Studio 1.3

  1. モジュール設定を開く
  2. [ モジュール]メニューのモジュールをクリックします
  3. ではプロパティ]タブ、設定ソース互換ターゲットの互換性を使用しているJavaのバージョンに。

他には何もせず、うまくいった


モジュール設定はどこにありますか?
bendaf

3
@bendafエクスプローラーでモジュールを右クリックし、[モジュールの設定を開く]を選択します
Jason Robinson

これらの設定は、[ファイル] -> [ プロジェクト構造] -> [ プロパティ]
ChumiestBucket

10

私にとっては、それは私のbuild.gradleの「progaurd」ビルドエントリでした。ビルドセクション全体を削除してから、再同期を行い、問題を解決しました。


私のために働いた!ありがとう!カナリアビルド1.0RCの使用1.を使用するminifyEnabled trueminifyEnabled false定義しないかproguardFiles
カレム2014年

また、AndroidLibraryプロジェクトはproguard stackoverflow.com/a/10992604/665823を実行しないことも忘れないでください。
カレム

4

私はAndroid Studio 3.1.4を使用していますが、下位のapiターゲットを持つ開発ブランチから、ターゲットapi Oreoを持つ別のブランチに移動すると、このような問題が発生しました。うまくいった最初の解決策を試しましたが、それはかなりトリッキーですが、2番目の解決策は問題を解決しませんでした。

私の解決策 問題が再び発生したとき、私はファイルを同期するように私に尋ねるのに十分なだけ私のアプリのgradleファイルを少し修正しようとしました、そしてそれはトリックをしました。次に、変更を削除しました。

「Gradleファイルを使用したプロジェクトの同期」も機能すると思いますが、自分では試していません

それが役に立てば幸い


3

Android Studioにははるかに簡単なソリューションが組み込まれており、通常は他の回答に記載されているブルートフォースソリューションを必要とせずに機能します。最初に試してみてください。 ここに画像の説明を入力してください

Android Studioの右側にある「gradle」記号をクリックしてから、「Refresh all Gradle projects」ツールをクリックします。


2

私もこれを捨てると思いました:

私にとってうまくいったことは、ビルドバリアントを以前に機能していたバリアントに戻すことでした。何らかの理由で、これを以前に変更したことがありました(その理由を忘れていました)。

どちらの方法でも、その日に変更した内容を覚えておくことをお勧めします(クリーニングや、前のgitコミットに戻るなど、マイナーなことです)...など。

また、gradleを再同期して強制的に再構築することもできます。


1

今朝数時間同じ問題に苦しんでいた。コマンドラインからプロジェクトをビルドすることは私にとってはうまくいったようです。

正確な手順-

  1. クローンされた新しいリポジトリ(Androidスタジオファイルはリポジトリにありません)
  2. コマンドラインからデバッグプロジェクトをビルド(./gradlew clean assemblyDebug)
  3. Android Studioを開き、プロジェクトをインポートします

機能したかどうかを確認するには、プロジェクトのexpanded-bundlesフォルダーを調べ、ライブラリを調べて、classes.jarを見つけます。拡張可能であれば、すべて問題ありません。

編集-Androidスタジオでクリーンアップを実行した後、再び壊れました。したがって、クリーンアップする必要がある場合は、このプロセスを再度実行する必要があります。


何が問題だったのかはわかりませんが、gradle clean assemblyDebugが機能し、現時点では問題ありません
Killer

1

これらの方法はどれも、Android Studio 0.5.8では役に立ちませんでした。

私の解決策は、(Ubuntuで)〜/ .AndroidStudioPreviewディレクトリを削除することでした。他のOSのどこにあるかわかりません。このディレクトリには一時ファイルとAndroid Studio設定が保存されているため、すべての設定を見逃しました。しかし、うまくいきます!


私も働いた。(エレメンタリーOSのAndroid Studio 0.6.0)
rogeriolino '18 / 06/18

1

別の方法は、JDK 1.7をダウンロードし、エラーメッセージでAndroid Studioからのパスを変更して、Jdk 1.7フォルダーに含まれているホームフォルダーを選択することです。


1

今日も同じ問題が発生しました。プロジェクト構造のjdkの場所をから\java\jdk1.7.0_05に変更して修正しました\java\jdk1.7.0_25(これまでは存在していたことが知りませんでした)。

Android Studio 0.8.6を使用しています。


1

settings.gradleモジュールサブプロジェクトからを削除してこれを修正しました。独自のJava Gradleプロジェクトですsettings.gradleがなんとかそれを台無しにするそれファイルをです。

この男のおかげで:https : //stackoverflow.com/a/33978721/425238


1

プロジェクトをクリーンアップしてからキャッシュを無効にしてみましたが、どちらも機能しませんでした。私にとってうまくいったのは、build.gradle(アプリ)ですべての依存関係をコメント化してから同期し、次に依存関係のコメントを解除して、もう一度同期することでした。ボブはあなたのおじです。


0

私は同様の問題に直面しましたが、私の場合は次の手順に従いました:-

1).. ideaフォルダーの下のプロジェクト内でmodules.xmlを開きます。2)。同じimlファイルに2つのエントリがあるかどうかを確認します。3)。重複するエントリの1つを削除し、android studioを閉じるか、gradleファイルを再度ビルドします。

私の場合、それはうまくいきました。それが役に立てば幸い


0

JDKを設定することで解決しました。エラーの上にマウスを置くとSetup JDKが表示されるというポップアップが表示されました。


0

私は同じ問題を抱えていました、ここにリストされている解決策はどれもうまくいきませんでした。問題は、正しいフォルダー内にないソースファイルでした。

ディレクトリ構造は次のようにする必要があります。

[project]\[module]\src\main\java\[yourpackage]\[yourclass.java]


0

この問題の原因を突き止めました。

実際には、.idea/librariesリポジトリにフォルダをプッシュすることは避けてください。Android Studioで奇妙なものを作成し、ダウンロードされたすべてのライブラリを削除する傾向があります。

コミット履歴がある場合は、欠落しているすべてのライブラリファイルを再作成し、再度コミットされないようにします。それ以外の場合は、.ideaフォルダ全体を削除してASに再インポートします。


0

これらの値でbuild.gradleを変更してみてください:

android {compileSdkVersion 18 buildToolsVersion '21 .0.1 '

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}

0

共有設定を使用していますが、Android Studioはエディターシンボルについて不満を言っています。次に、私は追加しました

import android.content.SharedPreferences.Editor;

そして、シンボルは今クールです。


0

のような特殊文字を含むプロジェクトパスがあるかどうかを確認してください。(エクスクラメーション・マーク)。

私が経験し同様の問題では、これが根本的な原因でした-多くのJavaアプリケーションはそのような特殊文字を許容しないようです(たとえば、ターミナルから「gradlew clean」を実行すると失敗し、RunTimeExceptionがスローされます)。オンラインで投稿された他の解決策のどれも私を助けませんでした。しかし、私が削除したら!パスから、クリーンビルドを行った場合、Android Studioは魔法のように機能しました。


0

ここにリストされているすべてを試しました。次に、androidmanifest.xmlを確認しました。フォルダ名の変更とパッケージ名の変更が原因で、いくつかの失格が一致していませんでした。


0

私のマルチモジュールプロジェクトでの問題は、モジュールAの「com.android.support:appcompat-v7」のバージョンが「22.0.0」であるのに、B-「22.2.0」であるということでした。

解決策
1.共通ライブラリのバージョンがモジュール間で同じであることを確認します。
2.各モジュールはエラーなしでコンパイルされます(CLIから各モジュールをビルドしてみてください)。


0

ファイルおよび特別なフォルダーの名前がこのエラーを引き起こす可能性があることに注意してください。たとえば、「He​​lpers」というフォルダーがあり、このフォルダー内のファイルのパッケージが「com.whatever.helpers」である場合、コンパイルエラーは発生しませんが、Androidスタジオはそのフォルダー内のシンボルを読み込めません。その典型的な理由の1つは、最初の大文字でフォルダーに名前を付け、それをGitでコミットし、後でフォルダー名をすべて小文字に変更することです。Gitシステムは変更を認識しないため、ローカルリポジトリとリモートリポジトリの間に差異が生じ、新しいリポジトリクローンのみが影響を受けます。



0

私にはもっと奇妙な解決策がありました。誰かがこれに遭遇した場合に備えて、gradleファイルを再確認する価値があります。このgitのクローンを作成していて、gradleが実行中であったため、build.gradle(アプリ)ファイルから1行削除されたことがわかりました。

dependencies {
     provided files(providedFiles)

明らかに、ここでの問題は、それを再び追加し、gradleと再同期することでした。


0

aarファイルを再構築し、プロジェクト内の古いファイルを新しいファイルで置き換えたときにも、同様の問題が発生しました。私はここですべての解決策を試しましたが、誰も私の問題を解決しませんでした。ライブラリプロジェクトでminifyEnabledがtrueに設定されていて、ライブラリプロジェクトで使用されていない多くのデッドコードを効果的に削除していることに後で気付きました。

私の解決策は、ライブラリプロジェクトでminifyEnabledをfalseに設定し、aarをアセンブルし、それをプロジェクトにコピーし、キャッシュを無効にして、gradeプロジェクトを同期し、すべてが正常に機能するようにすることでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.