Belirtilen adla eşleşen kaynak bulunamadı: attr 'android: keyboardNavigationCluster'. Destek Kitaplığı 26.0.0'a güncellerken


215

Bu sorunu en son Destek Kitaplığı sürüm 26.0.0'a ( https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0 ) güncellerken aldım :

Hata: (18, 21) Belirtilen adla eşleşen kaynak bulunamadı: attr 'android: keyboardNavigationCluster'.

/.../app/build/intermediates/res/merged/beta/debug/values-v26/values-v26.xml
Error:(15, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(18, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(15, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(18, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:Execution failed for task ':app:processBetaDebugResources'.

com.android.ide.common.process.ProcessException: aapt yürütülemedi

Dosya destek kütüphanesinden:

<style name="Base.V26.Widget.AppCompat.Toolbar" parent="Base.V7.Widget.AppCompat.Toolbar">
    <item name="android:touchscreenBlocksFocus">true</item>
    <item name="android:keyboardNavigationCluster">true</item>
</style>

Aşağıdaki sürümleri kullanıyoruz:

ext.COMPILE_SDK_VERSION = 26
ext.BUILD_TOOLS_VERSION = "26.0.1"

ext.MIN_SDK_VERSION = 17
ext.TARGET_SDK_VERSION = 26
ext.ANDROID_SUPPORT_LIBRARY_VERSION = "26.0.0"
ext.GOOGLE_PLAY_SERVICES_LIBRARY_VERSION = "11.0.2"

compile 'com.android.support:appcompat-v7:' + ANDROID_SUPPORT_LIBRARY_VERSION
compile 'com.android.support:design:' + ANDROID_SUPPORT_LIBRARY_VERSION
compile 'com.android.support:recyclerview-v7:' + ANDROID_SUPPORT_LIBRARY_VERSION

Herhangi bir fikir?


5
en yeni sürümle ilgili bir sorun olmaya devam ediyor (26.0.1): developer.android.com/topic/libraries/support-library/…
Alécio Carvalho

Yanıtlar:


314

Graddaki sdk sürümünü ve araçlarını güncelleyerek çözebildim compileSdkVersion 26 buildToolsVersion "26.0.1"

ve support library 26.0.1 https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-1


4
Bu benim için işe yaramadı. Google play hizmetlerini 11.2'ye yükseltmek zorunda kaldım ve sonra yukarıdaki hata geldi ve cevabınız yardımcı olmadı. Ayrıca tüm destek malzemelerini 26.0.1'e yükselttim ama yine de şans yok. Başka fikrin var mı?
Nandor Poka

Ancak 26'ya güncellemenin diğer birçok şey üzerinde büyük etkisi olacaktır. Android 8.0 için uygun Kanallar oluşturulana kadar çalışmayan bildirimler dahil değil mi?
Patric

5
@patric Derleme SDK'sı SDK'yı hedeflemez.
XH6 kullanıcısı

Bu çözüm sizin için işe yaramazsa, Sam'in aşağıdaki cevabına göz atın.
Benny

2
Bir iş gereksinimi nedeniyle compileSdkVersion'ı 25'ten güncellemek istemezsem ne olur? Bundan nasıl kurtuluruz?
binaryKarmic

53

Derleme SDK Sürümünü Değiştir:

compileSdkVersion 26

Derleme Aracı Sürümü:

buildToolsVersion "26.0.1"

Hedef SDK Sürümü:

targetSdkVersion 26

Bağımlılıklar:

compile 'com.android.support:appcompat-v7:26+'
compile 'com.android.support:design:26+'
compile 'com.android.support:recyclerview-v7:26+'
compile 'com.android.support:cardview-v7:26+'

Gradle'ı Senkronize Et.


2
uyarı almak: sürüm numarasında + kullanmaktan kaçının.
Kadir Hüseyin

2
bu benim için çalıştı. uyarılardan kurtulmak için + kaldırıldı
Qadir Hussain

2
+ kullanmayın, tekrarlanabilir sürümler elde etmek ve bağımlılıklarınız üzerinde tam kontrole sahip olmak istersiniz. Sessiz bir lib yükseltti çünkü uygulamanızın yeni bir yapı sonra
hata ayıklamak başlamasını istemiyorum

1
Bunun targetSdkVersionçalışması için güncellemeniz gerekmez . Bunu 26 olarak ayarlamanın başka etkileri de olacaktır - yani uygulamanızı Android 8.0 için uyumlu hale getirmelisiniz.
ataulm

hangi dosyaya bu şeyleri eklemek gerekir @ataulm rehberlik edebilir
Ravi Mehta

35

Değişmek zorundaydım compileSdkVersion = 26ve buildToolsVersion = '26.0.1'tüm bağımlılık build.gradledosyalarımda


2
tüm sürüm numaralarınız için gradle.properties dosyasında bir sabit kullanmalı ve bunu build.gradle dosyalarınızda kullanmalısınız: api "com.android.support:appcompat-v7:$ANDROID_COMPATIBILITY_VERSION"
Snicolas 28:17

13

Benim yerel reaksiyon projemde, bu hata react-native-fbsdk. react-native-fbsdk/android/build.gradleAşağıdaki gibi güncellenmesi sorunu çözer.

compileSdkVersion 26
buildToolsVersion "26.0.1"

7
kök build.gradle için aşağı ekleyerek modülün build.gradle dosyasını düzenlemeye gerek yoksubprojects { afterEvaluate {project -> if (project.hasProperty("android")) { android { compileSdkVersion 26 buildToolsVersion '26.0.1' } } } }
Yalamber

9

Ben bu aynı hatayı vurmak ve tüm yaptım stilleri değil inşa değerleri-26 kodu üretilir gibi ne yaptığımı bulmaya çalışıyorum Googling oldu. Gradle 4.0'dan Android Studio önizleme 3.0'a kanarya kanalına kadar her şeyi denedim.

Cevabı çevrimiçi olarak hiç bulamadım. Sonunda, yanlışlıkla düzelttiğim gibi standart Dev Android Studio ve 2.3.3 Gradle'a geri dönebildim :).

Kütüphane projemi güncellemeye o kadar odaklandım ki, hatanın kütüphane projemde iç içe olan kullanılmayan bir alt modülden (demo uygulaması) kaynaklandığını fark etmedim. 26 modülünü ve 26+ tasarım ve destek kütüphanesini eşleştirmek için alt modülü güncelledikten sonra sorunum ortadan kalktı.

Bu da gördüğünüz şey olup olmadığından emin değilim, ama şahsen ben sadece lib'i tekrar yayınlamak için güncelledim, bu yüzden örnek uygulama modülü hakkında umursamadım ve hata sadece dokunduğum 26 sdk ile ilişkili olduğu ortaya çıktı lib modülü diğerini kontrol etmeyi düşünmüyordu. Benim için sorun buydu. Umarım bu da sizi düzeltir. 2 kütüphane projesinde bu hatayı aldım ve her ikisinde de düzeltti.

Her iki şekilde de goodluck yapın ve bu sorununuzu çözmezse lütfen ne yaptığını paylaşın. BTW 26.0.01 oluşturma araçları ve 26.1.0 tasarım ve destek, sonunda 26.0.1 iyi çalıştı, ancak sonunda sona erdi.


Sorunu gerçekten çözüyor (birkaç modülünüz varsa)
D.Sergev

8

Bu tam hata vardı ve benim fark compileSdkVersionolarak belirlendi 25ve benim buildToolsVersionolarak belirlendi "26.0.1".

Yani sadece değişmiş compileSdkVersioniçin 26ve Gradle senkronize edildi. benim için sorunu çözdü.

EDIT: benim targetSDKVersionde olarak ayarlandı26


8

Tepki-yerli-youtube ve tepki-yerli-yönelim için benzer bir hata yaşadım.

Bu proje kullanımı compileSdkVersion 23ancak Feature: android: keyboardNavigationCluster build.gradle api 26(android 8) beri eklendiğini anladım .

Peki nasıl düzeltilir?

Bunu kolayca düzeltmenin bir yolu /android/build.gradle dosyanızı (!!! NOT /android/app/build.gradle) düzenlemek ve bu kodu dosyanın altına eklemektir.

Bu, alt modüllerinizin kullandığı SDK ve BuildTool-Sürümünü zorlamanıza olanak tanır:

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion "27.0.2"
            }
        }
    }
}

7

Bu sorunla da karşılaştım, sadece 2 değişiklik yapmanız gerekiyor:

Dosya Adı: android / build.gradle bu kodu aşağıda belirtin

subprojects {
   afterEvaluate { 
     project -> if (project.hasProperty("android")) { 
       android { 
        compileSdkVersion 26 buildToolsVersion '26.0.2' 
       } 
      }
    } 
}

Dosya Adı: android / app / build.gradle compliesdk sürümünüzü değiştirin ve buildToolVersion şöyle:

compileSdkVersion 26 buildToolsVersion "26.0.2"

ve

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

7

Ionic 2 projemle aynı sorunu yaşadım, sorunları çözmek için tek yaptığım

  • "İonic_project_folder / platforms / android / project.properties" i açın
  • Değişim target = android-25 için hedef = android-26
  • Çalıştırmak ionic build --release android

Umarım bu birine yardımcı olur!


Projem değişti target=android-26, ancak hala bu hatayı gösteriyor
Yuyang He

6
//Adding this to the root build.gradle solved my problem, thanks @Yalamber
subprojects {
        afterEvaluate { project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion 26
                    buildToolsVersion '26.0.2'
                }
            }
        }
    }

cevabınızı daha iyi anlamak için kodla daha fazla bilgi paylaşabilirsiniz.
Prags

Genellikle, bazı anonim kod satırlarını göndermek yerine bir çözümü açıklamak daha iyidir. Okuyabiliyorsun İyi bir cevap yazmak nasıl da ve tamamen kod tabanlı cevapları açıklanması
Anh Pham

1
Teşekkür ederim! En iyi cevap. Esasen proje bağımlılıkları (node_modules projeleri) farklı sdk versiyonlarına sahipti. Bu kodu kök düzeyindeki build.gradle'a eklemek, tüm bu bağımlılıkların belirtilen sdk sürümünü kullanmasını sağlar ve proje oluşturabilir. : D
Nigh7Sh4de

4

Android studio'unuzu 3.0'a güncelledikten sonra, bu hata oluşursa sadece gradle özelliklerini güncelleyin, bunlar sorunumu çözen ayarlardır:

compileSdkVersion 26

targetSdkVersion 26

buildToolsVersion '26.0.2'

26.0.2benim için sürüm sabit şeyler oluşturmak.
Karl Taylor

3

Projemi app/build.gradlesahip olmak için güncelledim

compileSDkVersion 26
buildToolsVersion '26.0.1'

Ancak, sorun aslında react-native-fbsdkpaketin içindeydi. Aynı ayarları değiştirmek zorunda kaldım node_modules/react-native-fbsdk/android/build.gradle.


3

Android stüdyosunda,
projeye sağ tıklayın (Cordova projem olduğundan, CordovaLib ve android vardı: benim durumumda android'i seçtim),

  1. Modül Ayarlarını Aç'ı seçin
  2. Açılan Proje Yapısı modalında yan paneldeki modüller bölümünde projeyi seçin (yine benim durumumda android)
  3. Bağımlılıklar sekmesini tıklayın
  4. Sağ üst köşedeki yeşil artı düğmesini tıklayın
  5. Kütüphane Bağımlılığını Seçin
  6. Açılır listeden app-compat-v7'yi seçin
  7. Projeyi temizle ve yeniden oluştur

Bu, tüm dosyaları el ile düzenlemekten çok daha kolay bir yöntemdir.
Robert Liberatore

2

Bunu son zamanlarda vurdum ve nereden geldiğini hatırlıyorum. Xamarin.Android. * Sürümü ile yüklü Android SDK sürümü arasında bir uyumsuzluk var.

Geçerli VS2017 15.5.3Nuget için yeni bir proje varsayılan Xamarin.Android.*vardır 25.4.0.2ve varsayılan VS Android SDK paketlerinde takip ediyor çapraz platform geliştirme için yükleyin:

  • Android 7.1- Nuga
    • Android SDK Platformu 25
    • Google API'ları Intel x86 Atom Sistem Görüntüsü

Eğer için size çözüm Nuget yükseltilmiş ise Xamarin.Android.*hiç 26.1.0.1o zaman Android SDK'deki takip yüklemeniz gerekir:

  • Android 8.0- Oreo
    • Android SDK Platformu 26
    • Google API'ları Intel x86 Atom Sistem Görüntüsü

2

PhoneGap projemden biri için de aynı sorunla karşı karşıyaydım (Android studio 3.0.1). Bu sorunu çözmek için aşağıdaki adımı izledim

1) Proje adına sağ tıklayın (Benim durumumda android), "Modül Ayarlarını Aç" ı seçin

2) Modülleri seçin (android ve CordovaLib)

3) Üstteki özellikleri tıklayın

4) Derleme SDK sürümünü seçtim (API 26: Android 8.0'ı seçtim)

5) Derleme Araçları Sürümünü Seçin (26.0.2'yi seçtim)

6) Kaynak Uyumluluğu (1.6)

7) Hedef Uyumluluğu (1.6)

Tamam'ı tıklayın ve projeyi yeniden oluşturun.

Aşağıdaki bağlantı, izlediğim adım için ayarımı gösterir

https://app.box.com/s/o11xc8dy0c2c7elsaoppa0kwe1d94ogh https://app.box.com/s/ofdcg0a8n0zalumvpyju58he402ag1th


2

targetSDKVersion 26'yı o zaman 25'e değiştirmeye çalıştığınızda verilen adla eşleşen kaynak bulunamadı çözümü bulundu: attr 'android: keyboardNavigationCluster'. Destek Kitaplığı 26.0.0'a güncellerken

Sadece Build.gradle bu kodu Chage

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.0.1'
            }
        }
    }
}

için

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.2.0'
            }
        }
    }
}

2

Tepki-native-fbsdk derlerken bu sorunu aldım

Bu sorunu şu şekilde değiştirdim build.gradle:react-native-fbsdk

itibaren

compile('com.facebook.android:facebook-android-sdk:4.+')

için

compile('com.facebook.android:facebook-android-sdk:4.28.0')

1

Bu sorun benim için derleme için 26 sürümüne ihtiyaç duyan kütüphanelerden birinden kaynaklandı.

TargetSdkVersion'ı 26 olarak yapmak başka sorunlara neden olur ve uygulamanızın Oreo platformuna uyum sağlaması için ince ayar yapmanız gerekir. Bu herkes için doğru çözüm değil.

Sadece yapmak compileSdkVersion to 26ve buildToolsVersion to 26.0.2benim için çalıştı.

Ayrıca, tüm destek kitaplıklarının 26.1.0 veya sonraki bir sürümünü kullanacak şekilde güncellenmesi gerekir .


1

bunları notta güncelle

compileSdkVersion 27 buildToolsVersion '27 .0.1 '


1

Bu sorunu build.gradle dosyasında bazı değişiklikler yaparak çözdüm

Kök build.gradle'deki değişiklikler aşağıdaki gibidir:

subprojects {
   afterEvaluate { 
     project -> if (project.hasProperty("android")) { 
       android { 
        compileSdkVersion 26 
        buildToolsVersion '26.0.1' 
       } 
      }
    } 
}

Build.gradle dosyasındaki değişiklikler aşağıdaki gibidir:

compileSdkVersion 26 
buildToolsVersion "26.0.1"

ve

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

1

Nativescript kullanan ve bu sorunla karşılaşan herkes için:

compileSdkVersion 26
buildToolsVersion '26.0.1'

App_Resources / Android / app.gradle (altında android {)

Sonra çalıştırın tns platform remove androidve tns build androidproje kökünde.


0

Geliştirme ortamınızda Android SDK 8.0 bulunduğundan emin olun. MAC'ımda da aynı sorunu yaşıyordum ve SDK 8.0'ı ve araçlarını yükledim. Aynı sorunu Windows'ta da yaşıyorum. SDK'yı şimdi indiriyorum.


0

İyonik ile aynı sorunu yaşadım.

cordova platform remove android
cordova platform add android@6.4.0

Ve platform / android / projet'te değiştirin.

cordova.system.library.1=com.android.support:support-v4+

için

cordova.system.library.1=com.android.support:support-v4:26+

0

Bunun için aşağıda yapılması gerekenler 1. sağ tıklayın proje tıklayın.

2. modül ayarlarını açın-> özellikler sekmesinde-> sdk derlemesini değiştirin ve araç sürümünü 26,26.0.0 olarak değiştirin.

3. tık OK.

Bir saat denedikten sonra benim için çalışıyor.



-1

Projenizi temizleyin ve yeniden inşa edin.

./gradlew  app:clean app:assembleDebug

Ancak targetSdkVersion veya compileSdkVersion 25 olduğunda çalışmaz.

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.