Kaynak bulunamadı - Theme.AppCompat.Light.DarkActionBar


145

ActionBar Stil Oluşturucu'yu kullandım ve şimdi uygulamama kullanmaya çalışıyorum, ancak:

hata: Öğe için üst öğe alınırken hata oluştu: Belirtilen '@ style / Theme.AppCompat.Light.DarkActionBar' adıyla eşleşen kaynak bulunamadı.

i kullanıyorum android-destek-v7-appcompat.jar libs klasörünün içindeki lib

hedefim uygulamamı 2.3 veya üstü ile uyumlu hale getirmek


jar'i libs klasörüne ekledin mi?
Raghunandan

evet android-support-v7-appcompat.jar
Paz

1
@AbrahimNeil: bkz. Theme.AppCompat.Light for New Android ActionBar Desteği belki de size yardımcı olabilir
ρяσѕρєя K

Yanıtlar:


96

AppCompatbir kütüphane projesidir. Android projenizdeki kütüphane projesine başvurmanız gerekir.

Kaynaklarla kütüphane ekleme konusuna bakın .


1
android-support-v7-appcompat.jar dosyasını libs klasörüne yerleştirdi
Paz

4
@AbrahimNeil bu doğru yol değil. Bu bir kütüphane projesi ve bu nedenle sadece google oyun hizmetleri gibi başvurulmalıdır
Raghunandan

android-support-v7-appcompat.jar ithal ederken hedef android-16 çözülemedi gerektirir mi?
Paz


1
ekleyerek implementation 'com.android.support:appcompat-v7:28.0.0', bağımlılıklar altında sorunumu çözdü.
Hilal

35

Eclipse kullanıyorsanız reference library, projenize aşağıdaki adımları uygulayarak ekleyin :

  1. Project ExplorerGörünümde projenizi sağ tıklatın .
  2. Tıklayın Properties.
  3. Click Androidde Propertiespencereye.
  4. Gelen Librarygrup tıklayınAdd...
    • Aşağıdaki resme bakın.
  5. Kütüphaneyi seçin. Tıklayın OK .
  6. OKÖzellikler penceresinde düğmeye tekrar tıklayın .

Proje Özellikleri penceresindeki "Ekle" düğmesi, Android bölümü, Kütüphane grubu.


4
op tutulması android studio değil eclipse kullanıyor biliyor musunuz ?. yayınlanan ek tutulması içindir.
Raghunandan

@Raghunandan üzgünüm bundan bahsetmeyi unutma
MD

1
Eclipse'de mükemmel çalışır. Teşekkürler!
Scott Biggs

33

Android Studio kullanıyorsanız bağımlılığı ekleyin

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

için app/build.gradle. Ve bu işe yarayacak


2
Um ... gelmez iş ... yine ortadan kaldırmayacağını android: Theme.AppCompat * Benim styles.xml dosyasında..
Michael

Az önce 'com.android.support:appcompat-v7:28.0.0' uygulamasını 'com.android.support:appcompat-v7:25.0.1' uygulaması ile değiştirdim ve şimdi çalışıyor ... ama neden?
CGR

1
@CGR Android'in 28+ için temaları değiştirdiğine ve Light.DarkActionBar'ın artık mevcut olmadığına inanıyorum.
DoomGoober

13

VS2015 kullanan herkes için bu hatayı da alıyordum ve kütüphaneye projeye eklemediğim ortaya çıktı ...

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

1
Bunu VS2019'da yeni bir projeye başladıktan ve İnşa ettikten sonra anladım. Başka bir şey yüklemek zorunda kalmadan bir "Yeniden Oluşturma Çözümü" yapmak hataları çözdü.
Glen Little

8

Eclipse kullanıyorsanız, kaynakları kullanacaksanız sadece android-support-v7-appcompat.jar dosyasını libs klasörüne kopyalamak işe yaramaz.

" Kaynaklarla kitaplık ekleme " için buradaki adımları izleyin .


7

Basit bir çözüm - bu dosyanın içeriğini (/res/values/styles.xml) bu metinle değiştirin:

<resources>

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


1
"Öğe için üst öğe alınırken hata oluştu: Belirtilen 'AppBaseTheme' adıyla eşleşen kaynak bulunamadı."
Yousha Aleayoub

1
Bu AppCompat değil .
IgorGanapolsky

4
dependencies {

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

}

Bu benim için çalıştı ... Android Studio'da ...


4

Benim durumumda, android bir bilgisayardan diğerine proje aldım ve bu problemi . Benim için işe yarayan, gördüğüm bazı cevapların bir kombinasyonuydu:

  • Çalışma alanının libs klasöründe bulunan appcompat kitaplığının kopyasını kaldırın
  • SDK 21 yükleyin
  • Bu sdk derlemesini kullanmak için proje özelliklerini değiştirme resim açıklamasını buraya girin
  • SDKS 21 ile uyumlu bir emülatör kurma ve başlatma
  • Cihazın çalışmasını istemek ve Çalıştır'ı seçmek için Yapılandırmayı Çalıştır'ı güncelleyin

Benimki bu adımlardan sonra iyi geçti.


3

Visual Studio 2015 (Windows7) + Xamarin'i kullanmak bu hatayı aldı ve birden çok şeyi denedikten sonra (paketleri yükledikten sonra android_m2repository_r10.zip ...) içindeki Xamarin klasörünün tamamını kaldırma sona erdi

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

Bundan sonra, uygulamayı VS'de yeniden oluşturun ve hatalar kayboldu.


Bu benim için çalıştı :) Not: Visual Studio Enterprise'ı kullanma. 2017 15.8 Önizleme 3.0
David Jones

VS 2017'yi kullanarak da benim için çalıştı.
Richard Lyle

3

sdk'nizde bir v7 dizini olduğundan emin olun, 'Android Destek Kütüphanesi'ne (Ekstralar) sahip olmanın yeterli olduğunu düşündüm. 'Destek Kütüphaneleri için Yerel Maven deposunu (ekstralar; android; m2repository)' eksik bulduğum ortaya çıktı Studio aslında ve bağımlılıkları düzeltti. inşa etmek için kepçe kullanarak daha sonra çalıştı. $ 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'
}

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

derleme yerine uygulama, neden bilmiyorum.


Bu benim için bir çözüm.
shizhen

2

Oluşturmak için Android.mk kullanıyorsanız, AAR'dan oluşturulan kaynakta bağlantı sağlayan USE_AAPT2'yi kullanın.

Android.mk dosyasına aşağıdaki satırı ekleyin:

LOCAL_USE_AAPT2: = doğru


1
  1. SDK'nızı yöneticide güncelleyin ve Android support libraryekstraları eklediğinizden emin olun
  2. Dosya Gezgini'nde (Mac'te Finder) SDK'ya gidin ekstra klasörün ( ..\sdk\extras\android\support\v7\appcompat\res\valuesWindows'ta) klasörünü izleyin . Orada bir yerlerde bir themes.xmlve themes_base.xml. Bu dosyaların her ikisini de kopyalayın.
  3. Projenizde dosyaları 'değerler' dizinine yapıştırın

Themes_base.xml dosyasının res / değerlere kopyalanması orijinal sorunu çözdü, ancak diğer çözümlenemeyen referanslarla sonuçlandı.
FraktalBob

1

MAC için Visual Studio kullanıyorsanız , Proje> Nutget paketlerini geri yükleme'yi tıklatarak sorunu giderin


0

Eclipse'de: Destek Kitaplıkları Ekleme bölümündeki talimatları izleyerek bir destek kitaplığını proje kitaplığı olarak içe aktarırken , "Proyektleri çalışma alanına kopyala" seçeneğini işaretlemeyi unutmayın !


0

Aynı sorunu yaşadım. Burada listelenen çözümlerin hiçbiri durumuma yardımcı olmadı. Anlaşıldığı üzere, bir projenin üst klasörünü proje klasörü yerine Android Studio 1.5'e aktarıyordum. Bu Gradel'i bir sersemletti. Çözüm, bunun yerine proje klasörünü içe aktarmaktı.


-1

Yeni sdk eklediğinizde bu sorunla karşılaşırsanız xamarin'de. Basit çözüm Stil dosyanızı açın ve bu satırı ekleyin.

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

Appcompat eklemek yerine daha iyi bir çözümdür.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.