Saya ingin menggunakan pustaka dukungan Multidex baru untuk melanggar batas metode untuk salah satu aplikasi saya.
Dengan Android Lollipop Google memperkenalkan perpustakaan dukungan multidex yang membuatnya mudah untuk multidex.
Langkah apa yang diperlukan untuk menggunakan perpustakaan ini dan membangun aplikasi saya dengan dukungan multidex?
android
gradle
android-multidex
Janusz
sumber
sumber
Jawaban:
Edit:
Android 5.0 (API level 21) dan lebih tinggi menggunakan ART yang mendukung multidexing. Oleh karena itu, jika Anda
minSdkVersion
berusia 21 atau lebih tinggi, pustaka dukungan multidex tidak diperlukan.Ubah Anda
build.gradle
:Jika Anda menjalankan tes unit, Anda ingin memasukkan ini ke dalam
Application
kelas Anda :Atau hanya membuat
application
kelas Anda diperluasMultiDexApplication
Untuk info lebih lanjut, ini adalah panduan yang bagus.
sumber
gradle-wrapper.properties
) Poin utama: 1 buildToolsVersion Anda harus 21.1.1 atau lebih tinggi. 2 tambahkanmultiDexEnabled true
ke konfigurasi default Anda dari build.gradle Anda (perhatikan tidak ada=
) 3 tambahkan'com.android.support:multidex:1.0.0'
android:name="android.support.multidex.MultiDexApplication"
keapplication
tag sudahAndroidManifest.xml
mencukupi?..if your minSdkVersion is set to 20 or lower you must use...
'compile 'com.android.support:multidex:1.0.1'
.Langkah-langkah berikut diperlukan untuk memulai multi dexing:
Tambahkan android-support-multidex.jar ke proyek Anda. Guci dapat ditemukan di folder Android SDK Anda / SDK / ekstra / Android / dukungan / multidex / perpustakaan / libs
Sekarang Anda membiarkan aplikasi kelas aplikasi Anda memperpanjang MultiDexApplication
atau Anda mengganti attachBaseContext seperti ini:
Saya menggunakan pendekatan override karena itu tidak mengacaukan dengan hierarki kelas dari kelas aplikasi Anda.
Sekarang aplikasi Anda siap menggunakan multi dex. Langkah selanjutnya adalah meyakinkan gradle untuk membangun apk multi-dexed. Tim alat build sedang berupaya mempermudah ini, tetapi untuk saat ini Anda perlu menambahkan yang berikut ini ke bagian android dari build.gradle aplikasi Anda
Dan berikut ini ke bagian umum aplikasi Anda build.gradle
Info lebih lanjut dapat ditemukan di blog Alex Lipovs .
sumber
SIMPLY, untuk mengaktifkan multidex, Anda harus ...
Anda juga harus mengubah file manifes Anda. Dalam manifes Anda, tambahkan kelas MultiDexApplication dari pustaka dukungan multidex ke elemen aplikasi seperti ini
sumber
android:name="android.support.multidex.MultiDexApplication
Tolong bimbing saya ..Di build.gradle Anda tambahkan dependensi ini:
lagi di file build.gradle Anda tambahkan baris ini ke blok defaultConfig :
Alih-alih memperluas kelas aplikasi Anda dari Aplikasi , tambahlah dari MultiDexApplication ; Suka :
sekarang kamu baik untuk pergi! Dan jika Anda membutuhkannya, yang diperlukan
MultiDexApplication
hanyalahsumber
build.gradle
AndroidManifest.xml
sumber
Langkah 1: Ubah build.grade
Langkah 2: Pengaturan pada kelas Aplikasi
Langkah 3: Ubah grade.properties
Itu akan berhasil !. Terima kasih.
sumber
Berikut ini adalah pendekatan terbaru pada Mei 2020, dengan Android X.
Untuk
minSdk
> = 21Anda tidak perlu melakukan apa pun. Semua perangkat ini menggunakan Android RunTime (ART) VM, yang mendukung multidex secara asli.
Untuk
minSdk
<21Di tingkat modul Anda
build.gradle
, pastikan bahwa konfigurasi berikut diisi:Kemudian,
src/main/AndroidManifest.xml
kebutuhan Anda untuk menyatakanMultiDexApplication
sebagaiapplication:name
:sumber
Tambahkan ke AndroidManifest.xml:
ATAU
dalam metode attachBaseContext Aplikasi kustom Anda
atau Aplikasi kustom Anda memperpanjang MultiDexApplication
tambahkan multiDexEnabled = true di build.gradle Anda
sumber
Pertama, Anda harus mencoba dengan Proguard (Ini membersihkan semua kode yang tidak terpakai)
sumber
Jika Anda ingin mengaktifkan multi-dex dalam proyek Anda, maka cukup buka gradle.builder
dan tambahkan ini di dependencie Anda
maka Anda harus menambahkan
Kemudian buka kelas dan perluas ke Aplikasi Jika aplikasi Anda menggunakan memperluas kelas Aplikasi, Anda dapat mengganti metode oncrete () dan memanggil
untuk mengaktifkan multidex.
dan akhirnya tambahkan ke manifes Anda
sumber
gradle.builder
?Semua jawaban di atas luar biasa
Juga tambahkan ini jika tidak aplikasi Anda akan mogok seperti milik saya tanpa alasan apa pun
sumber
Dengan Androidx, pustaka dukungan klasik tidak lagi berfungsi.
Solusi sederhana adalah dengan menggunakan kode berikut
Dalam
build.gradle
file AndaDan dalam manifes Anda cukup tambahkan atribut nama ke tag aplikasi
Jika aplikasi Anda menargetkan API 21 atau di atas multidex diaktifkan secara default.
Sekarang jika Anda ingin menyingkirkan banyak masalah yang Anda hadapi mencoba untuk mendukung multidex - coba dulu menggunakan kode menyusut dengan pengaturan
minifyEnabled true
.sumber
hanya menambahkan potongan ini di build.gradle juga berfungsi dengan baik
sumber
Multi_Dex.java
sumber