首頁 > 軟體

解決Android Studio 出現「Cannot resolve symbol」 的問題

2023-09-06 14:00:05

(一)

Android Studio 無法識別同一個 package 裡的其他類,將其顯示為紅色,但是 compile 沒有問題。滑鼠放上去後顯示 “Cannot resolve symbol XXX”,重啟 Android Studio,重新 sync gradleClean build 都沒有用。
多半是因為 Android Studio 之前發生了錯誤,某些 setting 出了問題。解決方法如下:
點選選單中的 “File” -> “Invalidate Caches / Restart”,然後點選對話方塊中的 “Invalidate and Restart”,清空 cache 並且重啟。語法就會正確的高亮了。

(二)

因要用到,所以最近學了點Android開發,用的編譯器是親兒子,也是新生兒 Android Studio。

今天在偵錯的時候,Android Studio 報了一個莫名其妙的錯誤Cannot resolve symbol ‘R’讓人不知所措。因為這東西根本不歸我管啊,怎麼會出現 Cannot resolve symbol 這種錯誤呢?

谷歌了一下,找到解決方法如下:

Build -> Clean Project Tools -> Android -> Sync Project With Gradle Files

不行就多試幾次!就好了!

真正解決方案:Cannot resolve symbol 'xxx' (Android Studio 3.1.4)

最近更新了Android Studio 到最新版本3.1.4,但是卻出現了一個問題,

    Cannot resolve symbol ‘Theme’ in styles.xml (Android Studio)
    Failed to load AppCompat ActionBar with unknown error.
    Cannot resolve symbol ‘OkhttpUtils’
    …

有時候會出現類似theme主題找不到,甚至AppCompatActivity 這個類也找不到,

更嚴重有時候引入的所有Github 上的類庫都找不到了,都快要吐血崩潰了。

好在經過 一番苦戰,終於摸清楚了脾氣,找到了終極解決方案。
終極解決方案:

1.哪個Jar包有問題就把該設定註釋掉,比如下面這個:

dependencies { 
    //implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
    //implementation 'com.android.support:design:28.0.0-alpha3'
    //implementation 'com.android.support:support-v4:28.0.0-alpha3'
    //implementation 'com.android.support:recyclerview-v7:28.0.0-alpha3'
}

2.點選Sync Now

3.然後解開註釋

dependencies { 
    implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
    implementation 'com.android.support:design:28.0.0-alpha3'
    implementation 'com.android.support:support-v4:28.0.0-alpha3'
   implementation 'com.android.support:recyclerview-v7:28.0.0-alpha3'
}

4.再點選Sync Now
5.問題解決.世界安好

其他解決方案一:

其他解決方案二:

其他解決方案三:

解決方案,修改版本

 implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'

 implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'

完整修改build.gradle內容如下:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:design:28.0.0-alpha1'
    implementation 'com.android.support:support-v4:28.0.0-alpha1'
    implementation 'com.android.support:recyclerview-v7:28.0.0-alpha1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}`在這裡插入程式碼片`

參考地址:After Updating Android studio to 3.1.2 , I get “Failed to load AppCompat ActionBar with unknown error. ”

其他解決方案四:

也有可能是jar包因為網路原因沒下載更新好。。。
刪除這個資料夾下的所有jar,或者找到沒識別的jar刪除再重新下載/Users/(使用者名稱)/.gradle/

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.4'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

其他解決方案五:

1.哪個Jar包有問題就把該設定註釋掉,比如下面這個:

dependencies { 
    //implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
    //implementation 'com.android.support:design:28.0.0-alpha3'
    //implementation 'com.android.support:support-v4:28.0.0-alpha3'
    //implementation 'com.android.support:recyclerview-v7:28.0.0-alpha3'
}

2.點選Sync Now

3.然後解開註釋

dependencies { 
    implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
    implementation 'com.android.support:design:28.0.0-alpha3'
    implementation 'com.android.support:support-v4:28.0.0-alpha3'
   implementation 'com.android.support:recyclerview-v7:28.0.0-alpha3'
}

4.再點選Sync Now
5.問題解決.世界安好

到此這篇關於解決Android Studio 出現“Cannot resolve symbol” 的問題的文章就介紹到這了,更多相關Android Studio Cannot resolve symbol內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com