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?

Alécio Carvalho
sumber
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

Pengguna XH6
sumber
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.

Amar Gore
sumber
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

Erik Duisters
sumber
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"
peteroid
sumber
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.

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

Junaid Aziz
sumber
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"
            }
        }
    }
}
suther
sumber
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'
}
Revansiddh
sumber
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!

Aweda
sumber
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'
                }
            }
        }
    }
Pablo Rendón
sumber
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'
Ajayacharya
sumber
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.

Karl Taylor
sumber
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
Jac
sumber
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
dskow
sumber
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

Chirag Purohit
sumber
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'
            }
        }
    }
}
Sanjay Hadiya
sumber
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')
Tuan Nguyen
sumber
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.

Mohammed Ibrahim
sumber
1

perbarui ini secara bertahap

compileSdkVersion 27 buildToolsVersion '27 .0.1 '

Artis404
sumber
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'
}
Palak Jain
sumber
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.

palia5
sumber
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.

Ph0b0x
sumber
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+
Amr
sumber
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.

S HemaNandhini
sumber
0

Saya memecahkan masalah ini dengan melakukan hal berikut:

compileSdkVersion 26
buildToolsVersion "26.0.1"

compile 'com.android.support:appcompat-v7:26.0.1'
compile 'com.android.support:design:26.0.1'
compile 'com.android.support:cardview-v7:26.0.1'
compile 'com.android.support:recyclerview-v7:26.0.1'
Aldemir Gomes
sumber
Harap hanya menggunakan bahasa Inggris di situs ini . Jika Anda lebih suka menggunakan bahasa Portugis, ada Stack Overflow em Português .
Tom Zych
-1

Cukup bersihkan proyek Anda dan bangun kembali.

./gradlew  app:clean app:assembleDebug

Tapi itu tidak berfungsi ketika targetSdkVersion atau compileSdkVersion adalah 25.

Esdras
sumber