web-dev-qa-db-ja.com

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

Android Studio 0.4.2は問題なく機能していたので、今日それを開いたところ、ほぼすべてが赤くなり、自動補完が機能しなくなりました。私はインポートを見て、ASがそれを見つけることができないと私に言っているようです Android.support.v4 突然(私に未使用のインポートを削除するオプションを提供しています)。 ( Android.support.v7 でもいいようです)。

私が試したこと

  • プロジェクトを再構築する
  • プロジェクトの清掃
  • Gradleファイルとの同期
  • プロジェクトの終了、ASの終了、再起動/再開
  • ファイル>キャッシュの無効化/再起動
  • Lintを調べても、明らかなものは何も見えなかった
  • すべてのサポートライブラリを二重チェックすることは、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')
}

[Sync with Gradle]をクリックして[Project Settings]を開くと、重複したライブラリ参照があること、および未使用のライブラリ参照を削除することを示す赤いエラーが表示されます。 enter image description here

私のプロジェクトは正常にコンパイルされ実行されますが、オートコンプリート作業が本当に必要です。誰かが何か提案がありますか?

enter image description here

197
Daniel Wilson

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

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

ちなみに、Project Structureダイアログに表示されるエラーメッセージは、ほとんど間違いです。

更新:

Android Studio 0.4.3がカナリア更新チャンネルで入手可能で、うまくいけばこれらの問題のほとんどを解決するはずです。いくつかの長引く問題があるかもしれません。 0.4.3でそれらを見たら、私達に知らせ、そして私達が私達がすべてのコード経路を大事にしたことを確かめることができるように私達に再現するべき信頼できる一組のステップを与えるように試みなさい。

225
Scott Barta

ここで前述したことのどれも実際に私のために働かなかった。しかし、それから私はこの問題を解決したように見えるメニューInvalidate Caches/Restartの中にこのメニュー項目を見つけました。

バックグラウンドで何が起こったのかはよくわかりませんが、Android Studioが再起動したときにステータスバーに1分ほどIndexing...と表示されていましたが、どうやら不思議に思いました。

参考のために私はAndroid Studio 0.5.4を使用しています。

288

リンクをたどって、それは私のために働きました。

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

2.)[キャッシュを無効にする/再起動...]オプションを選択します。ダイアログが開きます。

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

4.)スタジオを閉じて再起動します。プロジェクトの索引付けを開始します。

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

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

ソース: https://www.youtube.com/watch?v=FX_gCTpqhwM

52
Manmohan Soni

Android Studio 1.3

  1. 開く モジュール設定
  2. Modulesメニューの下の module をクリックしてください。
  3. propertiesタブ で、 Source Compatibility および Target Compatibility をご使用のJavaのバージョンに設定します。

私は他に何もしなかった、そしてそれは私のために働いた。

12

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

9
Helzgate

私はこれもそこに捨てるだろうと思った:

私にとってうまくいったのは、私のビルドバリアントを以前に動作していたバリアントに戻すことでした。どういうわけか私は前にこれを変えていました(そして私はその理由を忘れました)。

どちらにしても、あなたがその日に変更したことを覚えておくことが最善の方法です(それは、クリーニングや、以前のgitコミットに戻ることと同じくらい小さいこともあります)。

また、gradleを再同期して再構築を強制しようとするのに役立ちます。

2
David T.

今朝数時間同じ問題に苦しんだ。コマンドラインから私のプロジェクトを構築することは私のためにトリックをしたようです。

正確な手順 -

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

それがうまくいったかどうかを確認するには、プロジェクトの展開されたバンドルフォルダを調べ、ライブラリを調べてclasses.jarを見つけます。それが拡張可能であれば、それからすべては問題ないでしょう。

編集 - 私はアンドロイドスタジオの中できれいにした後に見つけました、それは再び壊れました。あなたがきれいにしなければならないのであれば、あなたは再びこのプロセスを行う必要があるでしょう。

1
Kevin Grant

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

1
Panos

これらの方法のどれもAndroid Studio 0.5.8で私を助けませんでした。

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

1
DmitryDzz

今日も同じ問題を抱えています。プロジェクト構造内のjdkの場所を\Java\jdk1.7.0_05から\Java\jdk1.7.0_25に変更して修正しました(これまで私は知らなかった)。

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

1

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

私の解決策 問題が再発したとき、ファイルを同期するようにASに要求するのに十分な程度に私のアプリGradleファイルを少し変更しようとしましたが、それがうまくいきました。それから私は変更を削除しました。

「プロジェクトとGradleファイルとの同期」もうまくいく可能性がありますが、私は自分で試したことはありません。

それが役に立てば幸い

1
Aenon

はるかに簡単な解決策がAndroid Studioに組み込まれています、そしてそれは通常他の答えで述べられたどんなブルートフォース解決策も必要とせずに私のために働きます - あなたは最初にこれを試すべきです: enter image description here

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

1
Amir Uval

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

0
CKP78

ここにリストされているすべてを試しました。それから、私はandroidmanifest.xmlをチェックしました。フォルダの名前変更とパッケージの名前変更により、stoopidが一致しませんでした。

0
JDOaktown

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

私が経験した 似たような問題では 、これが根本的な原因でした - 多くのJavaアプリケーションがそのような特殊文字を許容しないようです。オンラインで投稿された他の解決策のどれも私を助けていませんでした。しかし、いったん削除したら!道から離れて、そしてきれいな造りをした、アンドロイドスタジオは魔法のように働いた。

0
Jim C

私はずっと奇妙な解決策を見つけました。誰かがこれに遭遇した場合、それはあなたのgradleファイルを二重チェックする価値があります。このgitを複製してgradleを実行していたので、build.gradle(app)ファイルから1行削除されました。

dependencies {
     provided files(providedFiles)

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

0
Blaze Gawlik

私のマルチモジュールプロジェクトでは、問題はモジュールAの "com.Android.support:appcompat-v7"のバージョンが "22.0.0"だったのですが、Bでは "22.2.0"でした。

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

0
surlac

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

0
Eduardo Cobuci

私はついにこの問題の原因を突き止めました。

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

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

0
Adrien Cadet

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

ディレクトリ構造は次のようになります。

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

0
Rémy DAVID

私は同様の問題に直面しましたが、私の場合私は以下のステップに従ってください: -

1).ideaフォルダの下の.insideプロジェクトでmodules.xmlを開きます。 2)同じimlファイルに2つのエントリがあるかどうかを確認します。 3)重複したエントリの1つを削除してAndroid Studioを閉じるか、または再度グラドルファイルを作成します。

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

0
Gagandeep Singh

私は共有設定を使用していますが、Android StudioはEditor symbolについて不満を述べました。それで、私は加えました

import Android.content.SharedPreferences.Editor;

そして今シンボルはかっこいいです。

0
fullMoon

もう1つの非常に微妙な原因:

マルチフレーバーライブラリは、通常のシングルフレーバーよりも特定の方法でコンパイルする必要があります。そうでなければ、静かにシンボルを解決できない errorを生成します。

Android Gradleのマルチフレーバーライブラリに基づくマルチフレーバーアプリ

0
WindRider

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

Android {compileSdkVersion 18 buildToolsVersion '21 .0.1'

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}
0
Fakher

私は自分のモジュールサブプロジェクトからsettings.gradleを削除することでこれを修正しました。それはどういうわけかそれを台無しにするそれ自身のsettings.gradleファイルを持つJava Gradleプロジェクトです。

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

0
whitebrow

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

0
varghesekutty