2014-02-20 204 views
87

我用动作条式发电机,现在尝试使用到我的应用程序,但得到:没有找到资源 - Theme.AppCompat.Light.DarkActionBar

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

我使用Android的支持-V7-程序兼容性的.jar LIB内libs文件夹

我的目标是让我的应用程序兼容2.3或以上

+0

您是否将jar添加到libs文件夹? – Raghunandan

+0

yes android-support-v7-appcompat.jar – Sun

+1

@AbrahimNeil:查看[无法找到新的Android ActionBar支持的Theme.AppCompat.Light](http://stackoverflow.com/questions/17870881/cant-find-theme -appcompat-light-for-new-android-actionbar-support)可能会帮你 –

回答

82

AppCompat是库项目。你需要在你的android项目中引用库项目。

查看主题Adding libraries with resources

+1

已经放置了android-support-v7-appcompat。jar到libs文件夹 – Sun

+4

@AbrahimNeil这不是正确的方法。它的一个库项目,因此必须引用就像谷歌播放服务 – Raghunandan

+0

当我导入android-support-v7-appcompat.jar获取无法解析目标android-16它需要? – Sun

34

如果您使用的Eclipse ,然后添加reference library到项目中按如下步骤操作:在Project Explorer查看

  1. 右键单击您的项目。
  2. 点击Properties
  3. Properties窗口中点击Android
  4. Library组中,单击Add...
    • 见下面的图像。
  5. 选择库。 ClickOK
  6. 再次单击属性窗口中的OK按钮。

The "Add" button in the project Properties window, Android section, Library group.

+4

你怎么知道op是使用eclipse而不是android studio ?.这个snap是eclipse。 – Raghunandan

+0

@Raghunandan抱歉忘了提及它 –

+1

在Eclipse中完美工作谢谢! –

8

如果您使用的是Eclipse只复制Android的支持-V7-appcompat.jar到libs文件夹,如果你要使用的资源将无法正常工作。

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

+0

这终于奏效!只是复制没有工作确实 – fifth

3

在我的情况下,我从一台计算机到另一台计算机上执行android项目,并遇到此问题。什么工作对我来说是一些我见过的答案的组合:

  • 删除程序兼容性库是在库的副本文件夹中的工作空间的
  • 安装SDK 21
  • 变化项目属性使用该SDK构建 enter image description here
  • 建立并开始与SDK的21
  • 更新兼容模拟器的运行配置,以提示设备上运行&选择 运行

这些步骤后,矿井运行良好。

0

在Eclipse中:当按照Adding Support Libraries的说明将支持库导入为项目库时,请不要忘记选中“Copy proyects into workspace”选项

21

如果您正在使用的Android 工作室则只需添加依赖

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

app/build.gradle。并且,将工作

+1

嗯...它*不*工作...它仍然不会解决android:Theme.AppCompat。*在我的styles.xml文件 – Michael

2
dependencies { 

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

} 

这在Android的工作室工作对我来说......

8

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

<resources> 

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

+0

“检索项目的父项时发生错误:找不到与给定名称'AppBaseTheme'匹配的资源。” –

+0

这是不是** AppCompat **。 –

0

我有同样的问题。这里列出的解决方案都没有帮助我的情况。事实证明,我将一个项目的父文件夹导入到Android Studio 1.5中,而不是项目文件夹本身。这让格莱德尔陷入了一阵眩晕。解决方案是改为导入项目文件夹。

1
  1. 更新你的经理SDK和一定要包括额外的
  2. 转到Android support library文件资源管理器的SDK(取景器上MAC)追查额外的 文件夹(..\sdk\extras\android\support\v7\appcompat\res\values上 的Windows)。在那里有一个themes.xmlthemes_base.xml。复制这两个文件。
  3. 在你的项目中的文件粘贴到“价值”目录
+0

将themes_base.xml复制到res/values中解决了原始问题,但导致了其他未解决的引用。 – FractalBob

1

使用Visual Studio 2015年(Windows7的)+ Xamarin了这个错误,并试图多的东西(安装包,下载android_m2repository_r10.zip ...)结束后,去除内

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

后,充分Xamarin文件夹,重建在VS和错误消失应用。

3

请确保您的sdk中有一个v7目录,我认为已有足够的'Android支持库'(在其他部分)。事实证明,我错过了支持库的本地Maven仓库(extras; android; m2repository)'Studio发现实际上并修复了Gradle依赖关系。使用gradle构建然后工作。 $猫的应用程序/的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' 
} 
5

对于任何有使用VS2015,我得到这个错误太,而且事实证明我没有加入到图书馆项目...

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