Tidak ditemukan sumber daya yang cocok dengan nama yang diberikan: attr 'android: keyboardNavigationCluster'. saat memperbarui ke Perpustakaan Dukungan 26.0.0


215

Saya mengalami masalah ini saat memperbarui ke Perpustakaan Dukungan versi 26.0.0 terbaru ( https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0 ):

Kesalahan: (18, 21) Tidak ditemukan sumber daya yang cocok dengan nama yang diberikan: 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: Gagal menjalankan aapt

File tersebut dari pustaka dukungan:

<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>

Kami menggunakan versi berikut:

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

Ada ide?


5
itu tetap menjadi masalah dengan rilis terbaru (26.0.1): developer.android.com/topic/libraries/support-library/…
Alécio Carvalho

Jawaban:


314

Saya dapat mengatasinya dengan memperbarui versi SDK dan alat-alat secara bertahap compileSdkVersion 26 buildToolsVersion "26.0.1"

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


4
Ini tidak berhasil untuk saya. Saya harus meningkatkan layanan google play ke 11.2 dan kemudian kesalahan di atas muncul, dan jawaban Anda tidak membantu. Saya juga memutakhirkan semua hal dukungan ke 26.0.1 tetapi tetap tidak berhasil. Apakah Anda punya ide lain?
Nandor Poka

Tetapi memperbarui ke 26 juga akan berdampak besar pada banyak hal lainnya. Termasuk pemberitahuan tidak berfungsi sampai Saluran yang tepat dibuat untuk Android 8.0 kan?
Patric

5
@patric Mengkompilasi SDK bukan menargetkan SDK.
Pengguna XH6

Jika solusi ini tidak cocok untuk Anda, lihat jawaban Sam di bawah ini.
Benny

2
Bagaimana jika saya tidak ingin memperbarui compileSdkVersion dari 25 karena persyaratan bisnis? Bagaimana cara menyingkirkan ini?
binaryKarmic

53

Ubah Kompilasi Versi SDK:

compileSdkVersion 26

Versi Alat Bangun:

buildToolsVersion "26.0.1"

Versi SDK Target:

targetSdkVersion 26

Ketergantungan:

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+'

Sinkronkan Gradle.


2
mendapatkan peringatan: hindari menggunakan + dalam nomor versi.
Qadir Hussain

2
ini berhasil untuk saya. dihapus + dari semua untuk menghilangkan peringatan
Qadir Hussain

2
jangan gunakan +, Anda ingin mendapatkan bangunan yang dapat direproduksi dan memiliki kontrol penuh pada dependensi Anda. Anda tidak ingin aplikasi Anda mulai mengganggu setelah membangun baru karena secara diam-diam meningkatkan ...
Snicolas

1
Anda tidak perlu memperbarui targetSdkVersionagar ini berfungsi. Mengatur bahwa ke 26 akan memiliki implikasi lain - yaitu Anda harus membuat aplikasi Anda kompatibel untuk Android 8.0.
ataulm

di file mana saya harus menambahkan hal-hal ini dapat Anda pandu @ataulm
Ravi Mehta

35

Saya harus mengubah compileSdkVersion = 26dan buildToolsVersion = '26.0.1'dalam semua build.gradlefile dependensi saya


2
Anda harus menggunakan konstanta di gradle.properties untuk semua nomor versi Anda dan menggunakannya dalam file build.gradle Anda: api "com.android.support:appcompat-v7:$ANDROID_COMPATIBILITY_VERSION"
Snicolas

13

Dalam proyek reaksi asli saya, kesalahan ini dihasilkan di react-native-fbsdk. Memperbarui react-native-fbsdk/android/build.gradlesebagai berikut memperbaiki masalah.

compileSdkVersion 26
buildToolsVersion "26.0.1"

7
menambahkan di bawah ini ke root build.gradle bekerja tidak perlu mengedit file build.gradle modulsubprojects { afterEvaluate {project -> if (project.hasProperty("android")) { android { compileSdkVersion 26 buildToolsVersion '26.0.1' } } } }
Yalamber

9

Saya menekan kesalahan yang sama persis ini dan sedang mencari semua kesalahan saya di Google saat mencari kode build-26 dan bukan gaya yang saya berikan. Saya mencoba semuanya mulai dari Gradle 4.0 hingga Android Studio preview 3.0 hingga saluran kenari, sebut saja.

Saya tidak pernah menemukan jawabannya secara online. Pada akhirnya, saya dapat kembali ke Dev Android Studio standar dan 2.3.3 Gradle karena akhirnya saya tidak sengaja memperbaikinya :).

Ternyata saya sangat fokus memperbarui proyek perpustakaan saya sehingga saya tidak menyadari bahwa kesalahan itu disebabkan oleh sub modul yang tidak digunakan (aplikasi demo) yang bersarang di proyek perpustakaan saya. Setelah saya memperbarui sub modul untuk mencocokkan 26 alat membangun dan 26+ desain dan dukungan perpustakaan masalah saya hilang.

Tidak yakin apakah itu yang Anda lihat juga, tetapi secara pribadi saya hanya memperbarui lib untuk melepaskan lagi jadi tidak peduli tentang modul aplikasi sampel, dan kesalahan itu tampaknya terkait dengan 26 sdk yang hanya saya sentuh di modul lib jadi tidak berpikir untuk memeriksa yang lain. Jadi itulah masalah selama ini bagi saya. Semoga itu memperbaiki Anda juga. Saya memiliki kesalahan ini dalam 2 proyek perpustakaan dan memperbaikinya di keduanya.

Goodluck baik cara dan jika ini tidak menyelesaikan masalah Anda, silakan bagikan apa yang berhasil. BTW 26.0.01 alat bangun dan 26.1.0 desain dan dukungan adalah tempat saya pada akhirnya akan pergi, meskipun 26.0.1 bekerja dengan baik juga.


Ini benar-benar menyelesaikan masalah (jika Anda memiliki beberapa modul)
D. Sergeev

8

Saya memiliki kesalahan yang tepat ini dan saya menyadari bahwa saya compileSdkVersionditetapkan pada 25dan saya buildToolsVersionditetapkan pada "26.0.1".

Jadi aku hanya mengubah compileSdkVersionke 26dan disinkronisasikan dengan Gradle. itu memperbaiki masalah bagi saya.

EDIT: saya targetSDKVersionjuga ditetapkan sebagai26


8

Saya memiliki kesalahan yang serupa untuk reaksi-asli-youtube & reaksi-asli-orientasi.

Tahu, bahwa build.gradle dari mereka yang menggunakan Proyek compileSdkVersion 23tetapi Fitur: android: keyboardNavigationCluster telah ditambahkan sejak api 26(android 8).

Lantas bagaimana cara memperbaikinya?

Salah satu cara untuk memperbaikinya dengan mudah adalah dengan mengedit /android/build.gradle Anda (!!! BUKAN /android/app/build.gradle) dan tambahkan kode itu di bagian bawah file.

Ini memungkinkan Anda untuk memaksa SDK dan BuildTool-Version menggunakan submodul Anda:

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

7

Saya juga menghadapi masalah ini, Anda hanya perlu membuat 2 perubahan:

Nama File: android / build.gradle menyebutkan kode di bawah ini

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

Nama File: android / app / build.gradle ubah versi compliesdk Anda dan buildToolVersion seperti ini:

compileSdkVersion 26 buildToolsVersion "26.0.2"

dan masuk

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

7

Saya memiliki masalah yang sama dengan proyek ionik 2 saya, semua yang saya lakukan untuk menyelesaikan masalah adalah

  • Buka "ionic_project_folder / platform / android / project.properties"
  • Ubah target = android-25 ke target = android-26
  • Lari ionic build --release android

Semoga ini bisa membantu seseorang!


Proyek saya berubah menjadi target=android-26, tetapi masih menunjukkan kesalahan ini
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'
                }
            }
        }
    }

dapatkah Anda membagikan lebih banyak informasi dengan kode untuk lebih memahami jawaban Anda.
Prags

Biasanya lebih baik menjelaskan solusi daripada hanya memposting beberapa baris kode anonim. Anda dapat membaca Bagaimana cara menulis jawaban yang baik , dan juga Menjelaskan jawaban sepenuhnya berdasarkan kode
Anh Pham

1
Terima kasih! Jawaban Terbaik. Pada dasarnya dependensi proyek (proyek node_modules) memiliki versi SDK yang berbeda. Menambahkan kode ini ke build.gradle tingkat akar memastikan semua dependensi ini menggunakan versi SDK yang ditentukan dan proyek dapat membangun. : D
Nigh7Sh4de

4

Setelah memperbarui studio android Anda ke 3.0, jika kesalahan ini terjadi, cukup perbarui properti gradle, ini adalah pengaturan yang memecahkan masalah saya:

compileSdkVersion 26

targetSdkVersion 26

buildToolsVersion '26.0.2'

26.0.2membangun versi untuk saya.
Karl Taylor

3

Saya memperbarui proyek saya app/build.gradleuntuk dimiliki

compileSDkVersion 26
buildToolsVersion '26.0.1'

Namun, masalahnya sebenarnya dengan react-native-fbsdkpaket. Saya harus mengubah pengaturan yang sama di node_modules/react-native-fbsdk/android/build.gradle.


3

Di studio android,
klik kanan pada proyek (karena saya punya proyek Cordova, saya punya CordovaLib dan android: Saya memilih android dalam kasus saya),

  1. Pilih Buka Pengaturan Modul
  2. Dalam modal Struktur Proyek yang muncul pilih proyek di bagian modul di panel samping (lagi android dalam kasus saya)
  3. Klik pada tab Ketergantungan
  4. Klik tombol tambah hijau di sudut kanan atas
  5. Pilih Ketergantungan Perpustakaan
  6. Pilih app-compat-v7 dari dropdown
  7. Bersihkan proyek dan bangun kembali

Ini adalah cara yang lebih mudah untuk memperbaikinya daripada mengedit semua file secara manual.
Robert Liberatore

2

Saya memukul ini baru-baru ini dan ingat dari mana asalnya. Ini adalah ketidakcocokan antara versi Xamarin.Android. * Dan versi Android SDK yang diinstal.

VS2017 15.5.3default proyek baru saat ini untuk nuGet Xamarin.Android.*adalah 25.4.0.2dan instalasi VS default untuk pengembangan lintas platform adalah paket Android SDK berikut:

  • Android 7.1- Nougat
    • Platform Android SDK 25
    • Google APIs Intel x86 Atom System Image

Jika Anda upgrade Anda solusi nuget untuk Xamarin.Android.*untuk 26.1.0.1maka Anda akan perlu menginstal tindak dalam SDK Android:

  • Android 8.0- Oreo
    • Platform Android SDK 26
    • Google APIs Intel x86 Atom System Image

2

Saya menghadapi masalah yang sama untuk salah satu proyek PhoneGap saya (Android studio 3.0.1). Untuk mengatasi ini saya ikuti, langkah berikut

1) Klik kanan pada nama Proyek (Dalam Kasus saya android), pilih "Buka Pengaturan Modul"

2) Pilih modul (android dan CordovaLib)

3) Klik properti di atas

4) Memilih versi Kompilasi SDK (Saya telah memilih API 26: Android 8.0)

5) Pilih Versi Alat Bangun (Saya telah memilih 26.0.2)

6) Kompatibilitas Sumber (1.6)

7) Kompatibilitas Target (1.6)

Klik Ok dan bangun kembali proyek.

Tautan berikut menunjukkan pengaturan saya untuk langkah yang saya ikuti

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


2

ketika Anda mencoba untuk mengubah targetSDKVersion 26 ke 25 saat itu terjadi saya menemukan solusi dari Tidak ada sumber daya yang cocok dengan nama yang diberikan: attr 'android: keyboardNavigationCluster'. saat memperbarui ke Perpustakaan Dukungan 26.0.0

Hanya Chage Kode ini dari Your Build.gradle Anda

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'
            }
        }
    }
}

untuk

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

Saya mendapat masalah ini saat kompilasi react-native-fbsdk

Saya menyelesaikan masalah ini dengan perubahan build.gradledarireact-native-fbsdk

dari

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

untuk

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

1

Masalah ini disebabkan oleh salah satu perpustakaan untuk saya yang membutuhkan versi 26 untuk kompilasi.

Membuat targetSdkVersion ke 26 akan menyebabkan masalah lain dan Anda harus mengubah aplikasi Anda untuk beradaptasi dengan platform Oreo. Ini bukan solusi yang tepat untuk semua.

Hanya membuat compileSdkVersion to 26dan buildToolsVersion to 26.0.2bekerja untuk saya.

Seseorang juga harus memperbarui semua perpustakaan dukungan mereka untuk menggunakan 26.1.0 atau yang lebih baru.


1

perbarui ini secara bertahap

compileSdkVersion 27 buildToolsVersion '27 .0.1 '


1

Saya mengatasi masalah ini dengan membuat beberapa perubahan pada file build.gradle

Perubahan pada root build.gradle adalah sebagai berikut:

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

Perubahan pada build.gradle adalah sebagai berikut:

compileSdkVersion 26 
buildToolsVersion "26.0.1"

dan

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

1

Bagi siapa pun yang menggunakan naskah asli dan menghadapi masalah ini: Anda dapat menambahkan

compileSdkVersion 26
buildToolsVersion '26.0.1'

di App_Resources / Android / app.gradle (di bawah android {)

Kemudian jalankan tns platform remove androiddan tns build androiddi root proyek Anda.


0

Pastikan Anda memiliki Android SDK 8.0 di lingkungan pengembangan Anda. Saya mengalami masalah yang sama pada MAC saya dan menginstal SDK 8.0 dan alat-alatnya memperbaikinya. Saya mengalami masalah yang sama pada Windows. Saya mengunduh SDK sekarang.


0

Saya memiliki masalah yang sama dengan ionik.

cordova platform remove android
cordova platform add android@6.4.0

Dan ganti di platform / android / projet.properties

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

Untuk

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

0

Untuk ini yang harus Anda lakukan di bawah ini 1. klik kanan pada klik proyek.

2. buka pengaturan modul-> di tab properti-> ubah sdk kompilasi dan buat versi alat menjadi 26,26.0.0.

3. klik ok.

Ini bekerja untuk saya setelah satu jam mencoba.



-1

Cukup bersihkan proyek Anda dan bangun kembali.

./gradlew  app:clean app:assembleDebug

Tapi itu tidak berfungsi ketika targetSdkVersion atau compileSdkVersion adalah 25.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.