güncellemeden sonra android stüdyosunda kaynak hatası: Kaynak Bulunamadı


101

Android Studio'da yapılan son güncellemeden sonra, daha önce çalışmış olan bir projeyi derlemek için sorun yaşıyoruz. İlk başta şu hatayı alıyorduk:

/Users/james/Development/AndroidProjects/myapp/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.0/res/values-v23/values-v23.xml
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.

Gradle dosyamızdaki sdk build target'ı 23 olarak güncelledim, bu da bu sorunu çözdü, ancak bize bir ton apache.http paket hatası bıraktı (özellikle, http öğeleri için kullandığımız bir ton apache paketi artık gitti sdk 23'te).

Yapmak istediğim, garip kaynak hatasını çözmek, ancak sdk 23'e güncelleme yapmadan. Şu anda, apache http bileşenlerinin yayımlanmış yeni uygulamalarını kullanmak için araçlar kitaplığımızı yeniden yazmaya zamanım yok. Herhangi bir fikri olan var mı?


Hatayı appcompat_v7 res / values-v23 / styles.xml'nin kendisinde görmüyor musunuz (projeniz yerine)?
Solace

1
Sorunuzu anladığımdan emin değil misiniz? Sorunu, yukarıda yayınlanan hatadaki dosya yolu ile belirtildiği gibi oluşturulan bir dosyada alıyorduk.
James Dobson

Oluşturulan dosyalarda hata meydana geliyorsa, kitaplık sürümüyle eşleşecek şekilde derleme araçlarını aşamalı olarak güncellemeniz gerekir. yani buildToolsVersion "23.0.1"
BK Batchelor

Yanıtlar:


78

Build.gradle dosyanızdaki appcompat sürümünü 22.2.1'e (veya daha önce kullandığınız her şeye) değiştirin.


5
Teşekkürler, çözüm buydu. Buradaki talimatları izledim: özellikle kod.google.com/p/android/issues/detail?id=183122#makechanges , scott tarafından sunulan çözüm. Sdk klasörümdeki 23.0.0'ı silmem, SDK yöneticisindeki 23 sdk sürümünü silmem ve ardından temizleyip yeniden oluşturmam gerekiyordu
James Dobson

4
James, çözüm için teşekkürler. Ancak, bu PITA durumuna hayret ediyorum - çünkü appcompat-v7: 22.2.1'i hiç kurmadım !!
Someone Somewhere

Eclipse'de bunu yapmanın bir yolu var mı?
Solace

10
@Solace Eclipse işe yaramaz
Back Packer

6
@BackPacker Hayır. Sorun Android Studio'dur. İyi bir bilgisayarım var ve Android Studio'nun basit bir merhaba dünya uygulaması derlemesi sonsuza kadar sürüyor.
TheRealChx101

197

CompileSdkVersion değerini 23 olarak ayarlamanız gerekir.

API 23 Android, kullanımdan kaldırılan Apache Http paketlerini kaldırdığından, bunları sunucu istekleri useLibrary 'org.apache.http.legacy'için kullanıyorsanız, bu bağlantıda belirtildiği gibi build.gradle'a eklemeniz gerekir :

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    ...

    //only if you use Apache packages
    useLibrary 'org.apache.http.legacy'
}

1
Bu işe yarayacak, ancak yeni SDK Sürümünü yüklediğinizden emin olmak isteyeceksiniz. API 23 (Android 6.0 Platformu). Bu, daha yeni cihazları desteklemenize izin verecektir. Bu nedenle, "uygulama uyumlu sürümü" daha yeni bir sürüme değiştirdiğinizde, daha yeni SDK sürümünü gerektirecektir.
JamesDeHart

4
Bu cevap, 22.2.1'e geri dönmekten çok daha iyi
Jörn Buitink

4
Kesinlikle ideal bir cevap ve çoğu insan için açıkçası doğru hareket tarzı, ancak sdk sürümünü güncellemeden sorunu çözmek olan soruma cevap vermiyor. Bunu yapmak, bağımlı olduğumuz ancak o sırada güncelleme yapacak zamanımız olmayan bir kitaplığı bozar. O zamandan beri, yeni özelliklerden yararlanmak için kitaplığı güncelledik ve artık güvenli bir şekilde sdk 23'e güncelleyebiliriz.
James Dobson

@RobertoB. Teşekkürler, bu iyi bir bilgi. Yeni apache kitaplıklarını kullanmak için kod tabanımızı zaten güncelledik, ancak umarım başkalarına da yardımcı olur!
James Dobson

Bu, OP'nin rapor ettiği hata mesajlarıyla nasıl ilişkilidir? CompileSdkVersion'ın geçerli bir çözüm olduğunu düşünüyorum, ancak eski apache kitaplığını kullanmak sadece dolaylı bir gerekliliktir.
mdelolmo

21

projelerinizin build.gradle dosyasında ... aşağıdaki gibi yazın .. appcompat sürümünü v7.23.0.0'dan v7.22.2.1'e değiştirerek bu hatayı çözdüm.

dependencies

{

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

}

Aşağıdaki ekran görüntüsü daha iyi anlamak içindir.


1
Hayır HAYIR Hayır .... Bunu beklemiyordum! AMA BU ÇALIŞTI !! O halde onu 23.0.1'e güncellemenin amacı nedir?
sud007

Bu + 1'imi alıyor: Birinin size söylediği her şeyin hemen en son sürümüne güncelleme yapmak her zaman uygun değildir. Bu, orijinal soruyu yanıtlıyor ve sorunu benim için çözüyor.
Mark Smith

10

Dikkat, yanlış cevap geliyor! Ancak apache kitaplıkları olmayan herhangi biri,

compileSdkVersion 23
buildToolsVersion "23.0.0"



//...


dependencies {
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:design:23.0.0'    

}

yardımcı oldu, benim için hile yaptı.


Apache kitaplıklarında neden bu kadar sorun var?
NinjaCoder

4

Uygulamaya özel derleme gradle dosyasında derlenmişsdkversion ve targetversion sürümünüzü 23 olarak değiştirmelisiniz. Bundan önce sdk 23, sürüm 6.0'ı yüklediğinizden emin olun. Daha fazla yardım için bu vidayı izleyebilirsiniz. https://www.youtube.com/watch?v=pw4jKsOU7go


2

En yeni SDK ve Android Studio'yu indirdikten sonra bile hata alıyorsanız Ben bir acemiyim: Yaptığım şey 1. En son SDK'yı indirin (i idi) 2. Dosya-Proje yapısını açın (ctrl + alt + shift + S) 3. Modüllerde uygulama 4'ü seçin Özellikler sekmesinde .. sdk sürümünü api 23 Android 6.0 hatmi olarak derleyin (en son)

adk sürümünü derlediğinizden ve yapı araçlarının aynı sürümde olduğundan emin olun (23)

Umarım bu birkaç gün boyunca benim yaptığım gibi acı çekmemesi için birine yardımcı olur.


2

Tüm sürümü eşleştirmeye çalışın:

compileSdkVersion 23
buildToolsVersion '23.0.0'
targetSdkVersion 23
compile 'com.android.support:appcompat-v7:23.0.0'

Benim için çalışıyor.


1

compileSDK, appCompat sürümüyle eşleşmelidir. TargetSDK hala 22 olabilir (örneğin, yeni izin modelini henüz güncellemediyseniz)


1

eğer varsa:

/Users/james/Development/AndroidProjects/myapp/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.0/res/values-v23/values-v23.xml
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.

Hata varsa siz değiştirmelisiniz appcompat, buildtools, sdkiçin 23 değil bunu değiştirmek için ve olmalıdır beğendiyseniz, ama 22 bunu:

  • derleme 23
  • hedef 22

0

Bu, build.grade bununla değiştirildiğinde çalışır:

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "blablabla"
        minSdkVersion 15
        targetSdkVersion 22
        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:22.0.0'
}

0

Sdk 23'ün kurulu olmadığını fark ettim. Bu yüzden önce onu kurdum sonra projemi yeniden inşa ettim. Ve iyi çalıştı. Ayrıca compilesdkVersion 23 olmalıdır


0

Her şeyden önce,

SDK klasörünüzü kontrol etmeye çalışın, benim için o mydocuments / appdata / sdk .... vs. idi. Yani temelde sdk klasörüm tamamen indirilmedi, esas olarak bu sorunun kaynağı. Eclipse android geliştirmeleriniz için ya tamamen indirilmiş başka bir android sdk (Araçlar bölümü ve gerçekten ihtiyacınız olan ekstralar dahil) ya da daha önce indirebileceğiniz eclipse sdk'yi kullanmanız gerekir. Ardından projenizi yeniden inşa edin> temizleyin.

Denemeye değer.


0

API 23'ü (Android 6.0) kullanmak için yükseltin veya appcompat-v7'yi Gradle'da 22.2.2 sürümüne değiştirin. Bu, google oyun hizmeti eklediğinde benim için çalışıyor


0

Yöntem 1: Görünüyor. Api 23'ü yüklemediniz. Lütfen API 23'ü yükleyin.

Yöntem 2:

Build.gradle dosyanızdaki appcompat sürümünü 22.0.1 (veya daha düşük) olarak değiştirin.

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.