2014-01-13 97 views
154

Android Studio 0.4.2工作正常,今天我打開它,幾乎所有東西都是紅色的,自動完成已停止工作。我看着進口和AS似乎告訴我它突然找不到android.support.v4(爲我提供刪除未使用的導入選項)。 (android.support.v7似乎很好,但)。Android Studio突然無法解析符號

事情我已經嘗試:

  • 重建項目
  • 清潔項目
  • 與搖籃文件
  • 關閉項目,關閉AS和重新發動/重啓
  • 文件>的Invalidate正在同步Caches/Restart
  • 檢查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') 
} 

當我打「同步與搖籃」,打開「項目設置」我得到一個紅色的錯誤告訴我,我有重複的庫引用,並刪除未使用的.. enter image description here

我的項目編譯和運行良好,但我真的需要自動完成工作!有沒有人有什麼建議?

enter image description here

+28

每一個Android Studio更新都會破壞項目,我已經厭倦了它。爲什麼他們不能堅持併發佈一個可用的版本。 –

+1

清潔或刪除任何文件之前,請先閱讀此答案。它可以解決你的問題。 http://stackoverflow.com/a/19223269/513413 – Hesam

+9

「失效緩存/重啓」爲我工作。 –

回答

128

你已經大不如前的大多數事情,這將是有益的名單,但你可以嘗試:

  • 結束Android工作室
  • 備份您的項目
  • 刪除所有.iml文件和.idea文件夾
  • 重新啓動Android Studio並重新導入您的項目

順便說一下,您在Project Structure對話框中看到的錯誤消息大部分都是假的。

UPDATE:

過Android Studio 0.4.3是在金絲雀更新頻道可用,並且應該有希望解決大部分問題。可能存在一些懸而未決的問題;如果您在0.4.3中看到它們,請告訴我們,並嘗試爲我們提供一套可靠的重現步驟,以確保我們已經關注了所有代碼路徑。

+0

哇這個答案是美麗的感謝所以該死的似乎現在正在工作\ O /:D –

+0

還有一條評論我發現我每次都在更換機器時都會這樣做,這很有趣 - 沒什麼大不了,但是一個煩惱都一樣,不知道實際問題可能是什麼 –

+0

這對我有效。我正忙着這個,整整一天想弄明白!感謝你的回答。 –

1

今天早上和同樣的問題掙扎了幾個小時。從命令行構建我的項目似乎爲我做了訣竅。

具體步驟 -

  1. 克隆新鮮庫(沒有一款Android工作室文件在回購)命令行(./gradlew乾淨assembleDebug)
  2. 打開Android工作室,引進項目
  3. 內置調試項目

要檢查它是否有效,請在您的項目中查看exploded-bundles文件夾,檢查庫並查找classes.jar。如果它是可擴展的,那麼一切都會好起來的。

編輯 - 我發現在Android工作室做了一個乾淨的工作後,它再次爆發。所以如果你必須清理,你將需要再次完成這個過程。

+0

我不知道是什麼問題,但gradle乾淨assemblerDebug工作和eveything現在是好的 – Killer

256

這裏前面提到的事情都沒有爲我實際工作。但後來我在文件菜單Invalidate Caches/Restart中發現了這個菜單條目,這似乎解決了問題。

我真的不知道後臺發生了什麼,但是當Android Studio再次啓動時,狀態欄顯示Indexing...約一分鐘左右,這顯然沒有奇蹟。

僅供參考我正在使用Android Studio 0.5.4。

+2

爲我工作0.5.9 –

+15

對我來說,我有一個電源故障時,Android Studio 0.8.2加載,它不會承認我的任何java導入,一切都只是紅色。這對我有用,謝謝! – Simon

+2

我正在使用android studio 1.0.2,當我打開我的項目,我充滿了紅色的錯誤。我解決了它由android studio - >文件 - >無效chaches /重新啓動。當我的項目重新啓動它的工作..沒有紅色錯誤 – SoftEye

1

這些方法在Android Studio 0.5.8中都沒有幫助。

我的解決方案是刪除〜/ .AndroidStudioPreview目錄(在Ubuntu中)。對不起,我不知道其他操作系統在哪裏。該目錄存儲臨時文件和Android Studio設置,所以我錯過了所有設置。但它的作品!

+0

也爲我工作。 (基本操作系統上的Android Studio 0.6.0) – rogeriolino

2

以爲我會扔了這一點,有太多:

這工作對我來說是改變我的構建變量回到以前工作的變型的東西。出於某種原因,我之前改變了這一點(我忘記了爲什麼)。無論哪種方式,最好的辦法就是儘量記住那一天你改變了什麼(它可能會像清潔一樣小,或者回到以前的git提交)......等等。

它也有助於嘗試重新同步gradle並強制重建。

1

另一種方法是下載JDK 1.7,並更改錯誤從Android Studio中的路徑message..and選擇誰被包含在JDK 1.7文件夾

0

我遇到了類似的問題,但我跟着以下步驟Home文件夾我的情況: -

1).idea項目在.idea文件夾下打開modules.xml。 2)。檢查相同的iml文件是否有兩個條目。 3)刪除重複的條目之一併關閉android studio或重新生成gradle文件。

在我的情況下,它的工作。 希望它有幫助

1

今天有同樣的問題。通過將項目結構中的jdk位置從\java\jdk1.7.0_05更改爲\java\jdk1.7.0_25(直到現在我還不知道)來修復它。

我使用的是Android Studio 0.8.6。

0

我通過設置JDK解決了問題。當我將鼠標放在錯誤上時,出現了一個彈出窗口,提示安裝JDK。

0

我有同樣的問題,這裏列出的解決方案都沒有工作。問題是我的源文件不在正確的文件夾內。

的目錄結構必須是:

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

9

對我來說,這是一個 「progaurd」 打造我的build.gradle條目。我刪除了整個構建部分,然後重新同步並解決了問題。

+0

爲我工作!謝謝!使用canary build 1.0RC 1. 使用'minifyEnabled true'或'minifyEnabled false'並且不定義'proguardFiles'。 – Kalem

+0

另外不要忘記,AndroidLibrary項目不運行proguard http://stackoverflow.com/a/10992604/665823。 – Kalem

0

我終於弄清楚是什麼原因導致了這個問題。

實際上,您應該避免將.idea/libraries文件夾推送到您的存儲庫。它會在Android Studio中創建奇怪的東西,這往往會刪除所有下載的庫。

如果您有提交歷史記錄,只需重新創建所有缺少的庫文件並避免它們再次提交。否則,只需刪除整個.idea文件夾並將其重新導入AS。

0

嘗試使用這些值更改您的build.gradle:

的Android { compileSdkVersion 18 buildToolsVersion '21 .0.1'

defaultConfig { 
    minSdkVersion 18 
    targetSdkVersion 18 
} 
13

的Android 1.3工作室

  1. 開放模塊設置
  2. 點擊您的模塊下模塊菜單
  3. 屬性選項卡上源兼容性目標兼容性設置爲您的Java版本。

我沒有做任何事情,它爲我工作。

+0

我在哪裏可以找到模塊設置? – bendaf

+2

@bendaf右鍵單擊資源管理器中的模塊並選擇「打開模塊設置」 –

0

我使用共享偏好設置,但Android Studio抱怨編輯器符號。然後,我添加了

import android.content.SharedPreferences.Editor; 

現在符號很酷。

0

請檢查您是否有一個具有特殊字符的項目路徑! (感嘆號)。

similar problem that I experienced中,這是根本原因 - 因爲許多Java應用程序似乎不容忍這種特殊字符(例如,從終端執行'gradlew clean'會失敗並拋出RunTimeException。)。 在網上發佈的其他解決方案都無濟於事。但是,一旦我刪除了!從道路上做了一個乾淨的構建,Android Studio神奇地工作。

0

我試過這裏列出的所有東西。 然後我檢查了我的androidmanifest.xml 由於文件夾重命名&程序包重命名,我有一些stoopid不匹配。

0

在我的多模塊項目中,問題在於模塊A中「com.android.support:appcompat-v7」的版本是「22.0.0」,但是在B - 「22.2.0」中。

解決方案:確保
1.公共庫的版本在模塊之間相同。
2.每個模塊編譯沒有任何錯誤(嘗試從CLI構建它們中的每一個)。

0

請注意,文件和特殊文件夾的名稱可能會導致此錯誤。例如,如果你有一個文件夾「Helpers」,並且該文件夾中的文件包是「com.whatever.helpers」,它不會導致任何編譯錯誤,但會導致Android Studio無法加載該文件夾中的符號。 一個典型的原因是,當您用第一個大寫字母命名文件夾時,在Git上提交它,然後將文件夾名稱更改爲全部小寫。 Git系統不會識別導致只有新存儲庫克隆將受到影響的本地和遠程存儲庫之間的差異的更改。

35

通過鏈接,它爲我工作。

1.)從android studio左上角的菜單中選擇File選項。

2.)選擇選項:「Invalidate Cache/Restart ..」它將打開一個對話框。

3)點擊與選項的第一個按鈕:「無效,並重新啓動」

4)將關閉工作室,並重新啓動它。開始編制項目索引。

它解決了我的問題:

文件 - >無效高速緩存/重新啓動 - >無效,並重新啓動

來源: https://www.youtube.com/watch?v=FX_gCTpqhwM

+0

它適合我! –

0

我有很多陌生人的解決方案。如果有人遇到這種情況,值得仔細檢查你的gradle文件。事實證明,當我克隆這個git和gradle正在運行時,它從我的build.gradle(app)文件中刪除了一行。

dependencies { 
    provided files(providedFiles) 

很明顯,這裏的問題只是將其添加回來並與gradle重新同步。