Ketika mencoba menggunakan pustaka dukungan appcompat-v7 terbaru di proyek saya, saya mendapatkan kesalahan berikut:
/Users/greg/dev/mobile/android_project/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/values.xml
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Bagaimana cara saya memperbaikinya?
Jawaban:
Sementara jawaban loeschg benar-benar benar, saya hanya ingin menguraikannya dan memberikan solusi untuk semua IDE (Eclipse, IntellJ dan Android Studio) bahkan jika kesalahan sedikit berbeda.
Prasyarat
Pastikan Anda telah mengunduh yang terbaru
extras
dan jugaAndroid 5.0 SDK
melalui SDK-Manager.Android Studio
Buka
build.gradle
file modul-aplikasi Anda dan ubahcompileSdkVersion
menjadi 21. Pada dasarnya tidak perlu mengubahtargetSdkVersion
Versi-SDK menjadi 21 tetapi disarankan karena Anda harus selalu menargetkan Android Build-Version terbaru .Pada akhirnya file gradle Anda akan terlihat seperti ini:
Pastikan untuk menyinkronkan proyek Anda sesudahnya.
Gerhana
Saat menggunakan
v7-appcompat
di Eclipse Anda harus menggunakannya sebagai proyek perpustakaan. Tidak cukup hanya menyalin * .jar ke/libs
folder Anda . Silakan baca tutorial ini (klik) langkah demi langkah di developer.android.com untuk mengetahui cara mengimpor proyek dengan benar.Segera setelah proyek diimpor, Anda akan menyadari bahwa beberapa folder di
/res
folder tersebut diberi garis merah karena kesalahan seperti berikut:Larutan
Satu-satunya hal yang harus Anda lakukan adalah membuka
project.properties
fileandroid-support-v7-appcompat
dan mengubah target daritarget=android-19
menjaditarget=android-21
.Setelah itu lakukan saja
Project --> Clean...
agar perubahannya berlaku.IntelliJ IDEA (tidak menggunakan Gradle)
Serupa dengan Eclipse, tidak cukup hanya menggunakan
android-support-v7-appcompat.jar
; Anda harus mengimporappcompat
sebagai modul. Baca lebih lanjut di StackO-Post ini (klik) .( Catatan: Jika Anda hanya menggunakan
.jar
Anda akan mendapatkanNoClassDefFoundErrors
Runtime )Ketika Anda mencoba membangun proyek, Anda akan menghadapi masalah di
res/values-v**
folder. Jendela pesan Anda akan mengatakan sesuatu seperti berikut:Larutan
Klik kanan pada
appcompat
modul -> Buka Pengaturan Modul (F4) -> [Tab Ketergantungan] Pilih Android API 21 Platform dari dropdown -> TerapkanKemudian baru membangun kembali proyek (Build -> Rebuild Project) dan Anda baik untuk pergi.
sumber
Ini kemungkinan karena Anda belum menetapkan
compileSdkVersion
ke 21 di file build.gradle Anda. Anda juga mungkin ingin mengubahtargetSdkVersion
ke 21.Ini mengharuskan Anda untuk mengunduh pembaruan SDK terbaru untuk memulai.
Setelah Anda mengunduh semua pembaruan (jangan lupa juga perbarui Perpustakaan / Repositori Dukungan Android!) Dan perbarui compileSdkVersion Anda, sinkronkan ulang proyek Gradle Anda.
Sunting: Untuk Eclipse atau pengguna IntelliJ umum
Lihat jawaban reVerse. Dia berjalan sangat teliti!
sumber
`Ikuti langkah-langkah di bawah ini:
ini bekerja untuk saya. Untuk mengatasi masalah ini,
1. Klik kanan pada perpustakaan appcompat_v7 dan pilih Properties
2. Sekarang, Klik Opsi Android, Tetapkan Path Proyek Build sebagai Android 5.0 (API level 21) Terapkan Perubahan.
3. Sekarang buka file project.properties di bawah pustaka appcompat_v7,
4. Atur target proyek sebagai: target = android-21
5.Sekarang Bersihkan + Bangun pustaka appcompat_v7 dan proyek Anda`
sumber
Jika Anda tidak ingin menggunakan API 21 sebagai API target, dan karena itu Anda tidak ingin menggunakan Tema Material, Anda harus menggunakan revisi yang lebih lama milik API 19>
Ini juga membantu menyelesaikan masalah Anda, itu hanya tergantung pada apa yang ingin Anda capai.
sumber
Saya mengalami masalah ini dengan layanan-play: 5.0.89. Meng-upgrade ke 6.1.11 memecahkan masalah.
sumber
Di Android Studio saya mencoba mengatur
compileSdkVersion
dantargetSdkVersion
untuk19
.Solusi saya adalah mengganti di bagian bawah
build.gradle
, dari ini:Ke pustaka appcompat versi lama:
sumber
Saya telah menambahkan proyek lain ke ruang kerja saya dan mencoba untuk merujuk aktivitas dari itu dalam file manifes, dan saya mendapatkan kesalahan ini. Masalahnya adalah saya salah merujuk perpustakaan. Inilah cara saya memperbaiki masalah:
Guci masuk ke folder Android Dependencies dan kesalahan ini diperbaiki.
sumber
Pastikan Anda membersihkan proyek Anda di studio android (atau gerhana),
Itu harus menyelesaikan masalah Anda
sumber
Meng-upgrade ke plugin gradle terbaru menyelesaikan masalah saya:
sumber
Setelah membuat proyek kedua di ruang kerja di gerhana, saya punya masalah ini. Saya percaya itu karena saya membuatnya dengan versi SDK yang berbeda dan ini membuat perpustakaan android-support-v7-appcompat.
Saya mencoba untuk membersihkan semuanya tetapi tidak berhasil. Pada akhirnya, saran di atas untuk mengedit project.properties dan mengubah target = android-21 dan mengatur proyek saya ke Android 5.0, memperbaikinya.
sumber
Apa yang saya rekomendasikan adalah: (Ini berfungsi setelah beberapa hari dengan kesalahan)
-Pastikan bahwa Anda telah mengunduh:
-Redowload ADT
-Membuat salinan keamanan proyek Anda.
-Anda harus memiliki ADT, ruang kerja, dan proyek yang akan kami impor di disk yang sama (misalnya C: /)
Sekarang hapus aplikasi compat dan proyek Anda.
Dalam gerhana: File> Impor> proyek Android yang ada> Selanjutnya> Jelajahi (Folder tempat Anda memiliki ADT Anda) / sdk / ekstra / android / v7 / appcompat> Impor> Selesai
Sekarang di eclipse Package Explorer: android-support-v7-appcompat / libs / Lakukan di dua JARS: Klik kanan> Build Path> Add to Build Path
Klik kanan pada libs / folder> Buil Path> Configure Build Path dan periksa dua JARS ini> OK
Pada bilah gerhana atas> Proyek> Bersihkan
Impor proyek Anda> File> Impor> Jelajahi proyek Anda> Selesai
Sekarang, Klik kanan pada projectfile dan android-support-v7-appcompat> Properties> Android> Dan pilih API terbaru yang muncul> OK
Klik kanan pada projectfile> Properties> Android> Add> android-support-v7-appcompat
Pada bilah gerhana atas> Proyek> Bersihkan
sumber
Saya mendapat kesalahan yang sama ketika saya mengubah versi Kompilasi SDK dari API: 21 ke API: 16. Masalahnya adalah, versi appcompat . Jika Anda perlu menggunakan versi Android API yang lebih lama, maka Anda harus mengubah versi appcompat ini juga. Dalam kasus saya ( untuk API: 16 ), saya harus menggunakan appcompat-v7: 19. + .
Jadi saya mengganti dependensi di build.gradle sebagai berikut,
Dan pastikan Anda memiliki versi appcompat versi lama di SDK Anda
sumber
Saya up to date dengan semuanya dan masih mendapatkan kesalahan ini, tidak yakin mengapa tetapi saya pikir gambar rusak dengan cara yang aneh dan setelah mengganti gambar saya menyingkirkan kesalahan. Mungkin patut dicoba dengan gambar yang berbeda :)
sumber
Masalah saya adalah bahwa saya memiliki perpustakaan lain yang dirujuk oleh proyek saya dan perpustakaan itu memiliki versi lain dari appcompat yang dirujuk. Inilah yang saya lakukan untuk menyelesaikan masalah:
(Anda harus mendukung proyek Anda sebelum melakukan ini)
1) Saya menghapus semua folder layout appcompat (mis: / res / layout-v11).
2) Memecahkan masalah yang muncul dari itu, biasanya kesalahan dalam menu.xml
3) Kembali ke proyek utama dan tambahkan pustaka appcompat, bersih, dan semuanya berfungsi!
sumber