web-dev-qa-db-ja.com

シンボルAppCompatActivityを解決できません-サポートv7ライブラリが認識されませんか?

私のAndroidスタジオがAppCompat v7ライブラリを正しく認識しない理由を理解しようとしています。以下のインポート文は灰色で表示され、support.v7.appのパッケージはありませんと表示されます。以下は私のアクティビティファイルです。

import Android.support.v7.app.AppCompatActivity;


public class XApplicationActivity extends AppCompatActivity

私のbuild.grade:

compile "com.Android.support:appcompat-v7:22.0.0"
compile "com.Android.support:support-annotations:$Android_SUPPORT_VERSION"
compile "com.Android.support:support-v4:$Android_SUPPORT_VERSION"

私のプロジェクト設定:

minSdkVersion = 14
targetSdkVersion = 21
compileSdkVersion = 21
buildToolsVersion = "22.0.1"

だから、これがなぜ私に問題を与えているのかについて本当に混乱しています。私がすでに試したこと:

  • プロジェクトのクリーニング/再構築
  • キャッシュの無効化と再起動
  • 10億回チェックして、サポートライブラリがインストールされていることを確認します(最新のサポートリポジトリとライブラリが絶対にインストールされています)

誰でも修正を知っていますか?それは私に多くの時間を要し、本当にイライラさせられます。

57
hendersawn

さて、4回目の./gradlew cleanアセンブルを行うために再構築して修正しました... Android St​​udioは奇妙なものです

17
hendersawn

私にとっては、AppCompatActivtyが追加されたappcompat-v7:22.1.0にアップグレードしても、問題は解決されませんでした。Android St​​udioは同じ問題を与えていました

シンボル 'AppCompatActivity'を解決できません

Androidスタジオキャッシュヘルプをクリアする場合があります。

Android studioでキャッシュをクリアし、次のオプションで再起動しました。

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

98
Nicks

1. .ideaフォルダーを削除する
2。プロジェクトを閉じて再度開きます
3.File-> Gradleファイルとプロジェクトを同期

これは私のために働いた

32

AppCompatActivityは、サポートライブラリのバージョン22.1.0でのみ追加されました。それ以前は、ActionBarActivityと呼ばれていました。

すべてのサポートライブラリに同じバージョンを使用する必要があります。執筆時点で最新バージョンは23.1.1です(最新バージョンはこちらで確認できます https://developer.Android.com/tools/support-library/index.html#revisions ) gradleファイルの依存関係セクションは次のようになります。

implementation "com.Android.support:support-v4:23.1.1"
implementation "com.Android.support:appcompat-v7:23.1.1"
implementation "com.Android.support:support-annotations:23.1.1"
21
Richard Strand

ファイルを削除する必要はなく、キャッシュを無効にして構成を再開するだけです。

introducir la descripción de la imagen aquí

16
Jorgesys

Androidの代わりにandroidXを使用する場合は、変更が必要です

import Android.support.v7.app.AppCompatActivity;

import androidx.appcompat.app.AppCompatActivity;

そして変化

<Android.support.constraint.ConstraintLayout>

<androidx.constraintlayout.widget.ConstraintLayout>
7
Mina chen

私が従った解決策は、以下の手順に要約されています。

  1. Buildメニューから、Edit Libraries and Dependanciesを選択します

enter image description here

  1. 追加されていない場合は、必ず最新AppCompatパッケージを追加してください

enter image description here

enter image description here

  1. 追加した後、プロジェクトをcleanプロジェクトとrebuildします。

enter image description here

7
wbadry

「... extends ActionBarActivity」から「... extends AppCompatActivity」に変更し、クリーニング、再起動、キャッシュの無効化/再起動を試みましたが、何も取得できませんでした。私のバージョンはすべて最新のものでした。

最終的にそれを解決したのは、インポートが正しいことを確認することでした:

import Android.support.v7.app.AppCompatActivity;

何らかの理由で、以前のように自動的にセットアップされず、手動で追加する必要がありました。

それが誰かを助けることを願っています!

5
Gravitoid

私が同じエラーを受け取ったのは、それが他の人に役立つ場合..非常に最新の(2017年1月14日)最新のすべてに役立つものを文書化したからです。複数のスタックオーバーフロー応答で、すべての無効化、クリーンビルド、.gradle /の削除、サポートライブラリの調整などを試みました。

Settings.gradle gradleバージョンをアップグレードすると修正されたことがわかりました(2.1.3でした)gradleツールチェーンの何かがクラスパス「com.Android.tools.build:gradle:2.2.3」のようです

3
Pradeep Kumar

最善の解決策は、[ファイル]> [キャッシュの無効化と再起動]に移動することです。

次に、ダイアログメニューで[キャッシュの無効化と再起動]をクリックします。プロジェクトをリセットするのに1分またはそれ以上時間がかかります。

-

Gradle内にあったcompileOnlyライブラリ内にあるリソースファイルまたは「R」ファイルを参照する問題にも遭遇したことに注意してください。 (つまり、compileOnlyライブラリ> res>参照されたxmlファイル)Javaコードでこのファイルの参照を停止しました。したがって、ファイルを参照している場所にうんざりしてください。

2
airvine

私は新たに開始したプロジェクトで最小API 23で同じ問題を抱えていましたが、最終的にこれらのコード行をgradle依存関係ファイルに追加し、エラーを解決しました:)

 implementation 'com.Android.support:appcompat-v7:28.0.0'
 implementation 'com.Android.support:customtabs:28.0.0'
 implementation 'com.Android.support:support-vector-drawable:28.0.0'
 implementation 'com.Android.support:support-media-compat:28.0.0'
1
Imran

。ideaフォルダーの削除プロジェクトの非表示フォルダーです。システム内のプロジェクトに移動し、ctrl + Hをクリックして、表示されたら削除します。 Android studioを再起動します。解決します。私のために働いています。

「ファイル」->「キャッシュの無効化/再起動」が機能します。

0
anoja madusanka

指定されたソリューションが機能しない場合は、作業がJavaであっても、言語として「KOTLIN」を使用して新しいプロジェクトを作成します。次に、新しいプロジェクトの「メイン」フォルダーを古いプロジェクトの「メイン」フォルダーに置き換えます。

0
Ave Maria

背景情報:

私のIDE

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b02 AMD64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1

最初の解決策:プロジェクトを再度インポートし、Android gradleプラグインのアップグレードに同意しません。

2番目の解決策:ファイルにはこれらのfragmentsを含める必要があります。

build.gradle:

buildscript {
  repositories {
    jcenter()
    google()//this is important for gradle 4.1 and above
  }
  dependencies {
    classpath 'com.Android.tools.build:gradle:3.1.3' //this Android plugin for gradle requires gradle version 4.4 and above
  }
}
allprojects {
  //...
  repositories {
    jcenter()
    google()//This was not added by update IDE-wizard-button.
    //I need this when using the latest com.Android.support:appcompat-v7:25.4.0 in app/build.gradle
  }
}

IDEの推奨に従ってgradleバージョンを4.4にアップグレードするか、これをgradle/wrapper/gradle-wrapper.propertiesに含めることを検討してください。

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip

オプション app/build.gradleのbuildToolsVersionを変更します:

Android {
compileSdkVersion 25
buildToolsVersion '27.0.3'

app/build.gradle:依存関係をコメント化し、ビルドを失敗させます(自動的に、またはトリガーします)

dependencies {
//compile fileTree(dir: 'libs', include: ['*.jar'])
//compile 'com.Android.support:appcompat-v7:25.1.0'
}

app/build.gradle:依存関係に再度コメントします。コンパイルから実装に変更することをお勧めしますが、今のところは単なる警告の問題です。

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:25.1.0'
}

プロジェクトの再構築後、importステートメントはグレー表示されなくなります。クラスでCtrl + hを呼び出してみてください。しかし、何らかの理由で、それらのクラス参照ステートメントのエラーマーカーはまだ存在しています。それらを取り除くには、プロジェクトツリービューを非表示にして復元するか、プロジェクトを閉じて再度開く必要があります。

最後にそれだけです。

その他の資料:

Gradleの更新

新しい依存関係設定を使用

私のソリューションの写真の軌跡を好む場合は、私の blog にアクセスできます。

0
catweazle

すでに試した場合

  1. キャッシュの無効化と再起動
  2. プロジェクトのクリーニング/再構築
  3. ./gradlew clean assemble
  4. 実装を追加
    "com.Android.support:support-v4:23.1.1"
    "com.Android.support:appcompat-v7:23.1.1"
    "com.Android.support:support-annotations:23.1.1"
  5. Android.support.v7.app.AppCompatActivityへのインポートを修正。
  6. 既存のandroidxインポートを修正しました

問題が解決しない場合は、以下をお読みください

最終的に解決策を見つけた

すべての回答に記載されているすべてを試してみましたが、失敗しました。

gradle.propertiesに移動して、これらのフラグをfalseにします

Android.useAndroidX = false

//サードパーティライブラリを自動的に変換してAndroidXを使用する

Android.enableJetifier = false

上記のフラグは

「私にとって、したがってgradleはv7コンポーネントをダウンロードしません」

0
jkuruvila