2014-02-20 192 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