簡體   English   中英

無法解析符號“AppCompatActivity”

[英]Cannot resolve symbol 'AppCompatActivity'

我剛剛嘗試使用 Android Studio。 我創建了空白項目並嘗試創建擴展AppCompatActivityActivity 不幸的是,Android Studio“說”它

無法解析符號“AppCompatActivity”

我在“app”模塊的依賴列表中compile "com.android.support:appcompat-v7:22.0.+" ,並多次重建項目。 但是我只能使用ActionBarActivity 我究竟做錯了什么?

對於在使用正確的 lib 版本和正確的類時遇到相同錯誤的任何人,這里對其他答案進行了一點補充。

當我升級到

appcompat-v7:22.1.0

其中ActionBarActivity已棄用且為空,而AppCompatActivty是要走的路,由於 Android Studio 中的一些故障,它並沒有完全了解版本更改。

即即使 Gradle 運行沒有錯誤,IDE 本身一直說Cannot resolve symbol 'AppCompatActivity' (而且它也無法通過Ctrl+N搜索獲得)

我查看了.idea/libraries文件夾,發現新版本的 lib 沒有合適的元文件。

因此,使用舊可靠的File->Invalidate Caches/Restart就可以了。 當您覺得 Android Studio 出了點問題時,請務必嘗試此操作。 然后禁用離線模式並同步。

如果通過 gradle file / "Invalidate caches" 和其他 IDE 工具的軟方法不起作用,請使用硬方法:

  1. 退出 Android Studio
  2. 在您的項目中導航到.idea文件夾
  3. 只需重命名libraries文件夾
  4. 重啟安卓工作室。 它現在應該重新創建libraries文件夾並再次工作。

這對我有用

Android Studio 3.1.2
Build #AI-173.4720617, built on April 13, 2018
JRE: 1.8.0_152-release-1024-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-38-generic

Shahbaz Ali證實,它也適用於

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-38-generic

moujib確認,它適用於 Android Studio 3.2.1

今天(4 月 22 日)您可以使用隨支持庫 v 22.1.0 一起發布的新AppCompatActivity

只需更改您的依賴項:

compile "com.android.support:appcompat-v7:22.1.0"

在這里您可以找到有關此新課程的更多信息。

這太簡單了。這是您需要遵循的步驟

1-退出安卓工作室。

2-轉到您的項目目錄。

3-在我的情況下是這樣的(F>Android->YourProjectName->.idea)。

4)-刪除 .idea 文件夾中的庫文件夾。

5)-重啟你的安卓工作室。 你的問題就解決了。

我通過 Going to build.gradle文件和依賴appcompat來修復它,比如 compile 'com.android.support:appcompat-v7:XX.X.X'

將其更改為編譯'com.android.support:appcompat-v7:XX.X.+'

然后點擊同步。 如果代碼中的其他所有內容都正確,則所有紅色波浪線都應該消失。

還要檢查拼寫錯誤,當我實際輸入 AppCompactActivity 而不是 AppCompatActivity 時,我浪費了一整天的時間尋找解決方案

在將 Android Studio 從 2.2.3 更新到 2.3、將 Android Gradle 插件更新到 2.3.0 並將 Gradle 更新到 3.3 之后,我得到了 AppCompatActivity 和許多其他類和方法的Cannot resolve symbol錯誤。

File -> Invalidate Caches / Restart沒有解決問題。

Preferences -> Build, Execution, Deployment -> Gradle顯示Use local gradle distribution selected with Gradle home: /Applications/Android Studio.app/Contents/gradle/gradle-2.14.1 並顯示警告說 gradle location is wrong

通過選擇Use default gradle wrapper (recommended)解決了問題。
可能只是指向新的本地分發位置也可以。

無法解決符號 AppCompatActivity 問題。

執行簡單步驟來解決問題。

i) 退出 Android 工作室。

ii) 轉到您的項目目錄。

iii) 在您的項目目錄中找到.idea文件夾。

iv) 刪除.idea文件夾。

v) 重啟你的安卓工作室。

vi) 問題將得到解決。

當您在 Gradle.properties 文件中添加 AndroidX 支持時,例如

android.useAndroidX=true
android.enableJetifier=true

如果您使用大於 3.2 的 Gradle 版本,則傳統的 Appcompat 依賴關系,例如

implementation 'com.android.support:appcompat-v7:27.1.1

不會工作。 將此依賴項替換為:

implementation 'androidx.appcompat:appcompat:1.1.0'

此外,從以下更改您的類文件中的 AppCompatActivity 導入:

import android.support.v7.app.AppCompatActivity;

對此:

import androidx.appcompat.app.AppCompatActivity;

完畢

嘗試這個。 在 Android Studio 中,將依賴項放入 build.gradle 后。 轉到構建 --> 清理項目。

它對我有用。

那真是太瘋狂了,我嘗試了一切,與 Gradle 文件同步,無效並重新啟動了 android studio。 問題仍然存在。 最后的手段是刪除.idea/libraries文件夾,它起到了魅力。

您可以使用新的 AppCompatActivity appcompat-v7:22.1.+ 只需將其添加到您的 gradle 中:

編譯'com.android.support:appcompat-v7:22.1.1'

對我來說,當我將 appcompact v7 更新到最新版本時,問題就解決了。

編譯'com.android.support:appcompat-v7:25.3.0'

希望能幫助到你...:)

所以我的同事推動了他們的local.properties破壞了一切。 我從另一個應用程序復制了我的 sdk 路徑並做了:

File -> Sync Project with Gradle Files

在 Mac OS X Yosemite 機器上開發時,我在使用 Android SDK 23 時遇到了同樣的問題。 原來我沒有Java SDK 7。

一旦我安裝了 Java SDK 7 並將 SDK 從 Android Studio 指向新的 SDK,一切都對我有用。

以下是我遵循的步驟:

1) 關閉 Android SDK

2) 從http://www.oracle.com/technetwork/java/javase/downloads/index.html為 Mac OS X 安裝 Java SDK

3) 啟動 Android SDK 並將此項目的 SDK 指向新的 1.7 Java SDK,方法是轉到 File -> Project Structure -> JDK Location

4)重啟Android Studio

希望這有幫助

請記住按Alt + Enter或添加導入。

import android.support.v7.app.AppCompatActivity; 

以下都沒有解決我的問題

  • 重啟安卓
  • 文件 >> 使用 Gradle 文件同步項目
  • 構建 >> 清潔項目
  • 構建 >> 重建項目
  • 文件>>使緩存無效/重新啟動

相反,我通過將 appcompat 和設計依賴項的版本更新到最新版本來解決它為此:轉到build.grade (Module:app) >> 依賴項部分,然后在 appcompat 和設計依賴項上點擊ALT + ENTER然后選擇在我的情況下顯示的版本是 24.2.1 如圖所示在此處輸入圖像描述

我將 Gradle 2.3.3 更新到 4.4,並在 AppCompatActivity 和 Cardview 上出現錯誤。 我嘗試使用干凈的項目和重建項目。 它不起作用,然后我轉到項目文件夾-> .idea -> 創建文件夾的備份並將其刪除 -> 然后重建項目解決了我的問題。

讓我們一步一步來:首先使用清理項目

構建->清理

如果這沒有幫助,那么使用你的第二步

文件>使緩存無效/重新啟動...

但是當上述所有選項都不起作用時,真正的問題就開始了,所以使用你的最終解決方案是關閉項目並轉到項目位置目錄並刪除

。主意

您現在可以再次打開您的項目。

升級到最新的支持庫后,我不得不升級到最新的 Android studio (beta) 版本和 gradle 版本,然后 IDE 才能再次識別 AppCompatActivity(使緩存失效並重新啟動沒有成功)

在項目構建 .gradle 中添加此依賴項。

請按照以下示例進行操作。

dependencies {

    compile 'com.android.support:appcompat-v7:22.1.0'
}

易道

  • 打開應用級別build.gradle並刪除appcompact-v7依賴項和同步。
  • 再次添加依賴項並同步。

錯誤消失了!

前

后

我解決了它添加:

import androidx.appcompat.app.AppCompatActivity;

在主 .java 文件的“導入”區域中。 它對我有用。

希望能幫助到你!

您只需通過添加一些依賴項來對 Gradle 應用程序文件進行一些更改

編譯“com.android.support:appcompat-v7:XX:YY:ZZ”

而 XX:YY:ZZ 是您在 gradle 文件中使用的版本代碼,否則如果您將此版本設置為低於或高於您正在使用的版本,那么您的應用將面臨一些問題,例如有時會崩潰

我只是將我的 android studio 從 2.3.2 更新到 3.1.2 版本。 並發生此錯誤。

我清理項目,重建項目,使緩存/重新啟動無效,但沒有任何效果。

我通過更新 appcompat 庫來解決此錯誤

編譯'com.android.support:appcompat-v7:23.4.0'

編譯'com.android.support:appcompat-v7:25.1.1'

在應用程序 build.gradle 文件中。

如果無效緩存沒有幫助,只需關閉項目然后重新打開它。 腳步:

  • 文件 > 關閉項目
  • 將項目從啟動項目列表中刪除
  • 關閉 Android Studio
  • 打開安卓工作室
  • 使用此項目打開現有項目

發生這種情況是由於以下原因之一:

  1. 您沒有安裝 SDK API(這是我的問題)
  2. 您的項目/Android Studio 不知道所需文件在哪里
  3. 您的項目引用了不支持 AppCompatActivity 的過時編譯版本
  4. 有一個錯字

可能的解決方案:

  1. 檢查您的 .gradle 文件以確保您沒有引用過時的版本。 AppCompatActivity 是在 25.1.0 版本中添加的,屬於 Maven 神器 com.android.support:appcompat-v7:28.0.0-alpha1,所以不要使用比這更早的任何版本。 在您的 build.gradle (Module: app) 文件中,您應該列出依賴項:

    依賴{編譯'com.android.support:appcompat-v7:25.1.0'}

    您可能使用了不同的版本,但請確保您已列出依賴項。

  2. 打開 SDK 管理器並下載每個 API 7 或更高版本。 如果您缺少所需的 API,它將解決該問題,並且下載所有較新的 API 也可以在以后為您節省一些麻煩。

  3. 檢查導入語句中的拼寫錯誤。 確保它沒有說“AppCompactActivity”而不是“AppCompatActivity”。
  4. 重新同步您的項目(文件 > 將項目與 Gradle 文件同步)
  5. 重建你的項目(構建>重建)
  6. 清理你的項目(構建>清理項目)
  7. 關閉並重啟 Android Studio
  8. 更新 Android Studio
  9. 重新生成您的庫文件夾 - 在 Android Studio 中,在項目視圖中查看您的文件。 找到文件夾 YourProjectName >.idea >libraries。 將文件夾重命名為“libraries_delete_me”。 關閉並重新打開 Android Studio。 再次打開您的項目,應使用所有文件重新生成庫文件夾; 您現在可以刪除“libraries_delete_me”文件夾。

對我來說,當我更新 Gradle 構建版本時,問題就解決了。 不知道為什么?

我會告訴你我是如何在eclipse中解決這個問題的。 從此鏈接下載 zip 文件。 https://github.com/dandar3/android-support-v7-appcompat然后解壓這個文件,打開項目,在lib文件夾中你會看到一個名為“android-support-v7-appcompat”的jar文件,添加這個jar文件到你的項目。 而已。 在此處輸入圖像描述

這可能是應用程序級別 gradle 中的版本差異檢查一次然后重新構建

對我來說,沒有一個解決方案。 但是我發現我的外部庫中缺少所有支持庫的庫。 在其他項目中,AppCompatActivity 的解決沒有問題。

對我來說,它創建了一個新項目並將舊 src 文件夾的所有內容復制到新項目中。

我不知道確切的原因,但如果沒有任何效果,那可能是最后的可能性。 只是如果有人和我有同樣的麻煩。

通過嘗試它不會起作用的軟方式,使用硬方式:退出當前 Android Studio 屏幕並將您的項目轉到 .idea 文件夾重命名 library->lib_pre 文件夾。

重新啟動 Android Studio。它現在將重新創建庫文件夾並再次順利運行。 安卓工作室 3.1.3

這是我在某處找到的救生代碼(抱歉不記得出處了)。 將其添加到 build.gradle (Module:app)。 您可以將版本替換為相關的。

configurations.all {

    resolutionStrategy.eachDependency { DependencyResolveDetails details -
        def requested = details.requested

 if (requested.group == 'com.android.support') {

            if (!requested.name.startsWith("multidex")) {
                details.useVersion '27.1.1'
            }
        } else if (requested.group == "com.google.android.gms") {
            details.useVersion '15.0.0'
        } else if (requested.group == "com.google.firebase") {
            details.useVersion '15.0.0'
        }
    }
}

如果所有其他方法都失敗了,請確保您已添加導入語句。 我已將其刪除,因為它顯示錯誤並忘記將其添加回來,並正在嘗試其他所有方法來修復:

導入android.support.v7.app.AppCompatActivity;

在嘗試了所有解決方案之后,我意識到我一直在做的項目之前使用的是最新的 Android Studio,當時是 3.2,而我當前使用的電腦在更新 android studio后運行的是 2.2,這似乎完全解決了這個問題為了我。

解決方案: Android Studio -> 檢查更新,然后安裝最新版本

盡管我的谷歌服務使用的是 4.1.0 版本,但當我將所有依賴項都更新到 API 28 上的最新版本時,錯誤出現了。

當我將其更新到 4.2.0 時,我刪除了該錯誤。

除了其他答案之外,在settings.gradle中添加下面的dependencyResolutionManagement解決了這個問題。

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

注意:我正在將舊的 android 項目遷移到 AndroidX。 遵循此問題結束的所有強制性步驟后, Cannot resolve symbol 'AppCompatActivity' 在嘗試了此處提到的所有其他解決方案后,問題仍未解決。 當檢查settings.gradle並添加上面的代碼解決了這個問題。

升級你的 gradle 版本來解決這個問題

轉到您的項目級別 build.gradle

如果您使用的是舊的 gradle 版本,請升級到最新版本

 classpath 'com.android.tools.build:gradle:4.0.2'

gradle-wrapper.properties

將 distributionUrl 更改為最新版本

distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-bin.zip

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM