2013-05-31 125 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。

相关问题