Sejak mengunduh SDK terbaru dan menginstal Android Studio, proyek saya gagal dibangun. Saya mendapatkan pesan berikut:
Error:Gradle: Execution failed for task ':SampleProject:processProdDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1
Jawaban:
Catatan: Ini telah diperbarui untuk mencerminkan rilis API 21, Lollipop. Pastikan untuk mengunduh SDK terbaru.
Dalam salah satu modul saya, saya memiliki yang berikut di build.gradle:
Mengubah ini menjadi
memperbaiki masalah ini.
Pastikan Anda tidak melakukan penyertaan umum
com.android.support:support-v4:+
atau pustaka dukungan lainnya (v7, v13, appcompat, dll), di mana saja di proyek Anda.Saya berasumsi masalahnya adalah
v4:+
mengambilkandidat rilis (21.0.0-rc1)rilis L terbaru yang jelas membutuhkan L SDK.Edit:
Jika Anda perlu menggunakan tampilan baru (CardView, RecyclerView, dan Palette), yang berikut ini akan berfungsi:
(Kredit untuk EddieRingle di / androiddev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/ )
Edit lainnya
Pastikan untuk melihat jawaban @ murtuza di bawah ini mengenai appcompat-v7 dan upvote jika itu membantu!
sumber
Juga, jika Anda mengimpor perpustakaan appcompat-v7 pastikan Anda menandai nomor versi di akhir seperti ini:
Setelah hanya mengubah versi dukungan-v4, saya masih menerima kesalahan:
Itu agak membingungkan karena sepertinya v4 masih menjadi masalah, tetapi, pada kenyataannya, membatasi versi appcompat v7 memperbaiki masalah.
sumber
buildToolsVersion '20.0.0'
di sayaandroid{}
dancompile 'com.android.support:appcompat-v7:20.0+'
di sayadependencies {}
tidak sama, jadi saya membuatnya sama (seperti yang ditunjukkan di sini).Solusi 1:
Perubahan penggunaan-sdk untuk
<uses-sdk tools:node="replace" />
dan menambahkanxmlns:tools="http://schemas.android.com/tools"
diAndroidManifest.xml
Pastikan Anda menggunakan gradle 0.11 ke atas untuk menggunakan Manifest merger.
Solusi 2:
Ubah
compile 'com.android.support:support-v4:+'
kecompile 'com.android.support:support-v4:20.+'
dalambuild.gradle
. Ini akan mencegah gradle menggunakanv4:21.0.0
yang membutuhkan versi L.Namun, jika salah satu dari dependensi eksternal Anda menggunakan hal yang sama. Anda mungkin harus menunggu mereka memperbarui hal yang sama.
Solusi 3:
Hapus / Komentar
<version>21.0.0-rc1</version>
dalam file Anda<android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml
Ulangi hal yang sama untuk support-v7
sumber
Tidak lagi berfungsi.
ubah
uses-sdk
kedan tambahkan
xmlns:tools="http://schemas.android.com/tools"
file AndroidManifest.xmlsumber
Masalahnya masih muncul dengan dependensi transitif. Gradle menawarkan cara untuk memaksa penggunaan versi dependensi tertentu.
Misalnya, Anda dapat menambahkan sesuatu seperti:
ke build.gradle Anda.
Jika Anda ingin mempelajari lebih lanjut tentang strategi resolusi gradle, lihat panduan ini http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html
Saya menemukan ini saat membaca masalah terkait yang akan saya tautkan di sini
sumber
Dalam file build.gradle, secara default kompilasi 'com.android.support:support-v4:+' jadi ketika Anda membangun projecit gradle akan dipertimbangkan, com.android.support:support-v4:21.0.0-rc1 karena rilis pratinjau pengembang L terbaru.
Buat perubahan pada baris berikut dan itu akan menyelesaikan masalah. Perubahan
untuk
Demikian pula saat menggunakan pustaka dukungan v7-appcompat, buat perubahan dari
compile 'com.android.support:appcompat-v7:+'
untuk
sumber
Menambah jawaban yang benar di atas, masalah mungkin masih terjadi karena perpustakaan bersarang. Dalam hal ini, coba seperti contoh di bawah ini:
sumber
untuk orang yang membangun aplikasi hybrid menggunakan cordova CLI, perintah ini akan membantu:
ya itu menggunakan garis ganda ganda seperti yang Anda lihat.
sumber
cordova run android
itu gagal.cordova-plugin-facebook4
. Tidak melakukan hal itu membuatcordova run android
pekerjaan menjadi baik. Sayangnya saya tidak menemukan solusi untuk ini di mana pun. Saya mencoba secara manual untuk menambahkanminSdkVersion
diri saya diAndroidManifest
tetapi sedang ditimpa. Masih berusaha mencari tahu.minSdk
versi untuk15
diconfig.xml
. Baris:<preference name="android-minSdkVersion" value="14" />
. Dengan cara iniAndroidManifest
file diperbarui juga dengan versi baru.Saya juga memiliki masalah yang sama dan mengubah mengikuti membantu saya:
dari:
untuk:
sumber
Untuk orang yang menghadapi masalah ini dalam Android Studio beta, jawaban yang diterima tidak menyelesaikan masalah saya. Mengimpor proyek yang diunduh dari GitHub, saya memiliki yang berikut di file build.gradle aplikasi saya yang memberikan kesalahan pada pertanyaan:
Tetapi dalam folder perpustakaan eksternal saya, saya memiliki folder ini:
Saya memecahkan masalah di atas dengan mengubah ketergantungan ke:
Catatan: Anda mungkin juga perlu mengunduh tingkat api lebih rendah dari yang saat ini tersedia di Android Studio untuk beberapa perpustakaan dan proyek agar ini berfungsi dengan baik.
sumber
Saya memecahkan masalah dengan mengedit baris di bawah ini di build.gradle dan berhasil! :-)
menambahkan versi 20. + '
Dari
Untuk
sumber
v4
danv7
file dukungan ke file:20.+
.Membantu saya, diambil dari sini
sumber
Anda harus mengkonfigurasi semua dukungan dan pustaka appcompat dengan versi 19. +
Jika rekomendasi meninggalkan perpustakaan dukungan dengan versi 19. + tidak berfungsi, Anda dapat mencoba tip berikutnya di file AndroidManifest Anda.
Pertama tambahkan kode ini:
Dan kemudian, pada level aplikasi (tidak di dalam aplikasi!)
sumber
Saya membuat semua solusi di sini tanpa hasil, jadi saya mencari di tempat lain dan saya menemukan cara untuk mengelabui IDE, jadi Anda harus meletakkan garis di Mainfest untuk membuat Gradle menggunakan yang berbeda, salah satu yang Anda memakai build.gradle garisnya adalah:
hanya itu, dan itu berfungsi.
Saya harap ini membantu.
sumber
xmlns:tools="http://schemas.android.com/tools"
di<manifest>
tagAnda harus menghapus dari build.gradle
compile 'com.android.support:support-v13:+'
sumber
Inilah bug baru yang diajukan untuk btw ini https://code.google.com/p/android/issues/detail?id=72430
Dengan asumsi Anda menggunakan Repositori Dukungan, solusinya adalah dengan berkomentar atau menghapus baris
21.0.0-rc1 dalam file daftar repo Maven lokal di /extras/android/m2repository/com/android/support-v4/maven-metadata.xml
sumber
Bagi saya masalah seperti ini diselesaikan dengan mengubah
Dalam file build.gladdle dan gunakan file yang ditentukan dalam pesan kesalahan
tapi masalahnya
Jadi saya berubah dari 14 menjadi 15 di file build.gladdle dan berfungsi
Cobalah.
sumber
Hanya menargetkan yang diperlukan
minSdkVersion
yaitu perubahan ke yang dibutuhkan. Dalam kasus sayaminSdkVersion
adalah14
.Mengubah untuk
minSdkVersion
16
memecahkan masalahsumber
Jangan lupa, Anda harus mengedit build.gradle di subfolder 'app' proyek Anda, bukan di folder proyek. Saya kehilangan satu hari kerja untuk menyelesaikan masalah dengan versi "L".
sumber
Coba hapus folder build di proyek Anda dan edit ulang proyek gradle Anda untuk membangunnya kembali. Juga, seperti yang orang lain katakan di posting ini - alih-alih melakukan sesuatu seperti ini:
melakukan hal ini:
sumber
@Murtuza terima kasih. Jawaban Anda membantu saya untuk menyelesaikan masalah saya tetapi dalam kasus saya
compile 'com.android.support:support-v13:19.+
juga, bersama dengancompile 'com.android.support:support-v4:19.+' compile 'com.android.support:appcompat-v7:19.+'
dari
compile 'com.android.support:support-v4:+' compile 'com.android.support:support-v7:+' compile 'com.android.support:support-v13:+'
Hope ini mungkin bisa membantu seseorangsumber
Saya memiliki beberapa proyek di mana saya lebih suka menargetkan L.MR1 (SDKv22) dan beberapa proyek di mana saya lebih suka KK (SDKv19). Hasil Anda mungkin berbeda, tetapi ini berhasil untuk saya.
sumber
Di Android Studio 1.1.0: File - Struktur Proyek - Tab Flavours - Pilih Versi Min SDK yang lebih tinggi daripada di Manifest
sumber
Saya punya solusi kedua:
https://dl.dropboxusercontent.com/u/16403954/android-21.zip
untuksdk\platforms\
ubah seperti build.gradle
Menambahkan
terwujud dengan
xmlns:tools="schemas.android.com/tools"
;Pergi ke
sdk\extras\android\m2repository\com\android\support\support-v4\21.0.0-rc1\
unpack dukungan-v4-21.0.0-rc1.aar dan mengedit AndroidManifest.xml seperti
dari
untuk
PS Anda dapat melakukan ini dengan semua pustaka dukungan yang membutuhkan.
sumber
Satu-satunya hal yang berhasil bagi saya adalah ini:
Di project.properties, saya mengubah:
cordova.system.library.1 = com.android.support: support-v4: + ke cordova.system.library.1 = com.android.support: support-v4: 20. +
sumber
Anda cukup mengubah Level API Minimum dari
Build Settings -> Player Settings -> Other Settings -> Minimum SDK Level
ke beberapa versi yang lebih tinggi.sumber
Cara terbaik adalah membiarkan Android Studio memperbaiki masalah tersebut.
Saya melakukan di bawah ini, dan itu bekerja dengan baik.
Buka proyek Anda di Android Studio, kesalahan akan muncul, jika ada tautan yang diberikan untuk memperbaikinya klik di atasnya.
Buka kembali proyek Anda di Android Studio, kesalahan akan muncul, akan ada tautan kali ini jika tidak diberikan pada Langkah 1, klik tautan yang diberikan untuk memperbaikinya.
Perhatikan bahwa kedua operasi membutuhkan waktu beberapa menit, tetapi memperbaiki semua masalah.
sumber
Solusi: Manifes merger gagal aplikasi Atribut @ ppComponentFactory ...
Jika Anda menggunakan pustaka Firebase terbaru & terhebat atau pustaka lainnya, mereka sebenarnya menggunakan AndroidX alih-alih android.support maka Anda mungkin memiliki masalah karena merger Manifes gagal !! Jadi, dalam hal ini, proyek Anda perlu bermigrasi ke AndroidX. Jadi ikuti tautan: https://firebase.google.com/support/release-notes/android#update_-_june_17_2019
Atau tonton video ini. https://youtu.be/RgveQ4AY1L8 Terima kasih.
sumber