找不到资源 - Theme.AppCompat.Light.DarkActionBar

时间:2014-02-20 07:19:52

标签: android android-actionbar-compat

我使用了ActionBar样式生成器,现在尝试使用我的应用程序,但得到:

  

错误:检索项目的父项时出错:找不到与给定名称匹配的资源'@style /        Theme.AppCompat.Light.DarkActionBar”。

我在libs文件夹中使用 android-support-v7-appcompat.jar lib

我的目标是使我的应用兼容2.3或以上

17 个答案:

答案 0 :(得分:91)

AppCompat是一个图书馆项目。您需要在Android项目中引用库项目。

检查主题Adding libraries with resources

答案 1 :(得分:35)

如果您使用 Eclipse ,请按照以下步骤将reference library添加到项目中:

  1. Project Explorer视图中右键单击您的项目。
  2. 点击Properties
  3. 点击Android窗口中的Properties
  4. Library群组中,点击Add...
    • 见下图。
  5. 选择库。 点击 OK
  6. 在“属性”窗口中再次单击OK按钮。
  7. The "Add" button in the project Properties window, Android section, Library group.

答案 2 :(得分:30)

如果您使用 Android Studio ,则只需添加相关性

dependencies {
     implementation 'com.android.support:appcompat-v7:25.0.1'
}

app/build.gradle。这将有效

答案 3 :(得分:10)

对于那些使用VS2015的人来说,我也遇到了这个错误,事实证明我没有将这个库添加到项目中......

Install-Package Xamarin.Android.Support.v7.AppCompat

答案 4 :(得分:8)

如果您正在使用Eclipse,只需将android-support-v7-appcompat.jar复制到libs文件夹,如果您要使用资源,则无效。

按照此处的步骤操作“Adding libraries with resources”。

答案 5 :(得分:8)

一个简单的解决方案 - 将此文件(/res/values/styles.xml)的内容替换为文本:

<resources>

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

答案 6 :(得分:3)

在我的情况下,我从一台计算机到另一台计算机进行了android项目并遇到了这个问题。对我有用的是我见过的一些答案的组合:

  • 删除libs文件夹中的appcompat库的副本 工作区
  • 安装sdk 21
  • 更改项目属性以使用该sdk构建 enter image description here
  • 设置并启动与sdks 21
  • 兼容的仿真器
  • 更新“运行配置”以提示设备运行&amp;选择 运行

在这些步骤之后我的运行得很好。

答案 7 :(得分:3)

使用Visual Studio 2015(Windows7)+ Xamarin遇到此错误并在尝试多项操作(安装软件包,下载android_m2repository_r10.zip ...)后删除了 Xamarin文件夹内的完整

C:\Users\<my user>\AppData\Local

之后,在VS中重建应用程序并且错误消失。

答案 8 :(得分:3)

确保您的sdk中有一个v7目录,我认为有一个Android支持库&#39; (在额外内容)就足够了。事实证明我错过了支持库的其他本地Maven存储库(附加组件; android; m2repository)&#39; Studio发现实际上并修复了gradle依赖项。使用gradle构建然后工作。 $ cat app / build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "pat.example.com.gdbdemo"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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

答案 9 :(得分:2)

dependencies {

    compile 'com.android.support:appcompat-v7:23.0.0'

}

这对我有用......在Android Studio中......

答案 10 :(得分:1)

  1. 在管理器中更新您的SDK,并务必在额外的
  2. 中加入Android support library
  3. 转到文件资源管理器中的SDK(Mac上的Finder)跟踪额外的内容 文件夹(..\sdk\extras\android\support\v7\appcompat\res\values开启 视窗)。在某处有一个themes.xml和。{ themes_base.xml。复制这两个文件。
  4. 在项目中将文件粘贴到“values”目录

答案 11 :(得分:1)

如果您使用Android.mk进行构建,请使用USE_AAPT2,该链接从AAR链接到已构建的资源中。

在Android.mk文件中添加以下行:

LOCAL_USE_AAPT2:=真

答案 12 :(得分:0)

我有同样的问题。这里列出的解决方案都没有帮助我的情况。事实证明,我正在将项目的父文件夹导入Android Studio 1.5,而不是项目文件夹本身。这让格拉德尔感到头晕目眩。解决方案是导入项目文件夹。

答案 13 :(得分:0)

如果您使用的是 Visual Studio for MAC ,请单击“项目”>“还原坚果包”来解决问题

答案 14 :(得分:0)

依赖性{

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

}

编译已被实现取代,不知道为什么。

答案 15 :(得分:0)

在Eclipse中:按照Adding Support Libraries中的说明将支持库导入为项目库时,不要忘记选中&#34;将项目复制到工作区&#34; < /强>!

答案 16 :(得分:-1)

在xamarin中,如果添加任何新的sdk时遇到此问题。 简单的解决方案是打开样式文件并添加 这条线。

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

比添加appcompat更好的解决方案。