2013-05-31 126 views
17

Android Studio代碼檢查似乎找不到任何項目特定的資源。爲什麼Android Studio不能找到我的資源?

比如我styles.xml

<resources> 
    <style name="AppBaseTheme" parent="Holo.Theme.Light.DarkActionBar"> 
    </style> 

    <!-- Application theme. --> 
    <style name="AppTheme" parent="AppBaseTheme"> 
    </style> 
</resources> 

標誌着第二AppBaseTheme紅,說: 「不能解析符號 'AppBaseTheme'」。

該應用程序編譯和運行沒有問題,但我沒有任何代碼完成資源。雖然檢查似乎找到了ActionBarSherlock資源和HoloEverywhere資源(例如Holo.Theme.Light.DarkActionBar,自動完成作品)。

的應用程序(子)項目的build.gradle

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.4.1' 
    } 
} 
apply plugin: 'android' 

dependencies { 
    //compile files('libs/android-support-v4.jar') 
    compile project(':abs-library') 
    compile project(':he-library') 
    compile project(':he-addons:slider') 
    compile project(':he-addons:preferences') 
    // using a custom repo here 
    compile 'com.google.android:support-v4:r13' 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 7 
     targetSdkVersion 17 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'src/main/AndroidManifest.xml' 
      java.srcDirs = ['src/main/java'] 
      // abs-res, he-res are symlinks to ../abs-library/res 
      // and ../he-library/res 
      res.srcDirs = ['src/main/res', 'abs-res', 'he-res'] 
     } 
    } 
} 

截圖:http://lukas.kropatschek.net/as-inspection-error.png

回答

4

您的樣式定義一個問題,你必須調用同一個「@」定義的風格:

<resources> 
    <style name="AppBaseTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar"> 
    </style> 

    <!-- Application theme. --> 
    <style name="AppTheme" parent="@style/AppBaseTheme"> 
    </style> 
</resources> 

@style/AppBaseTheme這裏意味着系統將調用文件styles.xml命名AppBaseTheme風格。

+0

已經嘗試過,結果是一樣的。另請參閱截圖,在AndroidManifest.xml中也有類似的錯誤,例如它找不到@ drawable/ic_launcher。它編譯和運行,所以我認爲代碼是正確的,它只是Android Studio的代碼檢查,不知道我認爲的那些資源。 – lukrop

+0

您是否嘗試清理該項目? –

+0

清理完畢後,在重建過程中,一切似乎都沒問題,只要(gradle)後臺任務完成,檢查再次啓動並投訴。 – lukrop

4

看起來問題是通過關閉項目,刪除.idea文件夾和所有.iml文件,使用./gradlew clean進行清理並重新導入項目來解決的。這次我使用gradle模型導入自動導入複選框。

34

我會嘗試的第一件事是File>>Invalidate Caches\Restart>>Invalidate and Restart

這已修復了我用Android Studio遇到的所有資源問題。

+0

感謝上帝的答覆。就這個浪費了一個小時!謝謝。 – Fattie

+0

這並不適用於我,但後來我試圖讓Eclipse導入工作... – Antinous

7

與按鈕「同步工程與搖籃文件」中的工具欄(綠色圓圈的藍色箭頭)嘗試,它爲我工作

您還可以強制同步改變你的gradle這個東西(同步按鈕會彈出,你應該單擊它),然後恢復更改,並再次單擊「同步」

3

做到這一點:

- 去android studio’s menu barBuild>段改建工程

- 去android studio’s menu barBuild>清理項目

- 去android studio’s menu barFile>的Invalidate緩存/重啓

1

我有類似的問題,有什麼固定它爲我增加值

targetSdkVersion 17 

targetSdkVersion 18 

當您使用依存關係,希望你使用特定的SdkVersion可能發生。在我的情況下,我的targetSdkVersion爲25,但至少需要版本26的appcompat。

相關問題