Android Theme.AppCompat未找到 - 但Google说明受到尊重

时间:2015-02-16 12:16:22

标签: android

我正在与Android和兼容性库AppCompat作斗争,而我正在失败。我来这里哭泣求助。

由于我想使用NavigationDrawer(使用Android Studio自动生成的代码),我必须开始使用AppCompat库。我的应用程序不再起作用,因为构建器无法找到主题AppCompat。

我按照此处的所有步骤操作:https://developer.android.com/tools/support-library/setup.html#add-library

这是gradle文件“Module:app”:

apply plugin: 'com.android.application'

android {
  compileSdkVersion 19
  buildToolsVersion "19.1"

  defaultConfig {
    applicationId "it.misc.application"
    minSdkVersion 19
    targetSdkVersion 19
    versionCode 1
    versionName "1.0"
}
 buildTypes {
      release {
         minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      }
      debug {
          debuggable true
      }
  }
} 

dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   compile 'com.android.support:appcompat-v7:21.0.3'
   compile project(':another-library-here.')
}

这是res / values / style.xml

<resources>

  <!-- Base application theme. -->
  <style name="AppTheme" parent="android:Theme.AppCompat.Light.DarkActionBar">
      <!-- Customize your theme here. -->
  </style>

</resources>

错误是:

Error:Error retrieving parent for item: No resource found 
that matches the given name 
'android:Theme.AppCompat.Light.DarkActionBar'.

由于我做了文档所说的所有内容,并且我还根据另一个StackOverflow问题的答案删除/重新安装了兼容性库,我不知道还能尝试什么。

是否与我使用API​​和构建工具ver这一事实有关。 19和Android支持库21.0.3? (我想不是,但是......)


这是新的gradle,但建筑仍然失败:

android {
    compileSdkVersion 19
    buildToolsVersion "21.1.2"
    defaultConfig {
        applicationId "it.autostradetech.orchestra.negoziante"
        minSdkVersion 19
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile project(':orchestra.autostradetech.it.')
}

如果我将minSdkVersion设置为14,7,8或任何其他随机数,则不会发生任何变化。

4 个答案:

答案 0 :(得分:3)

android:Theme.AppCompat Theme.AppCompat不是{{1}}。只有来自框架的资源才有前缀。

同样将编译SDK版本更改为21.支持库版本,目标SDK和编译SDK版本应该对应。

答案 1 :(得分:1)

尝试将compileSdkVersiontargetSdkVersion更改为21,并在项目设置中也进行更改。如果您真的想使用appcompat-v7库,那么我认为minSdkVersion至少应为14

编辑:它必须是Theme.AppCompat.Light.DarkActionBar,而不是android:Theme.AppCompat.Light.DarkActionBar

答案 2 :(得分:1)

替换:

<style name="AppTheme" parent="android:Theme.AppCompat.Light.DarkActionBar">
  <!-- Customize your theme here. -->
</style>

使用:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
  <!-- Customize your theme here. -->
</style>

答案 3 :(得分:0)

按照this question中的建议尝试此解决方案。

  1. 文件 - &gt;导入(android-sdk \ extras \ android \ support \ v7)。选择 “程序兼容性”
  2. 项目 - &GT;属性 - &GT;机器人。在部分库“添加”和 选择“appCompat”