فعالکردن مالتیدکس
MultiDex چیست؟
در صورتی که minSdkVersion
پایینتر از ۲۱ باشد و پروژه را اجرا کنید ممکن است این خطا رخدهد:
در ماشین مجازی
Dalvik
تعداد متدها در یک فایل
.dex
بایستی از حد تعیینشدهی
64K
فراتر نروند. در غیراینصورت آدرسدهی برای
Dalvik
به درستی انجامنخواهدشد. به همین دلیل بایستی از چند فایل
.dex
استفادهکرد که اصطلاحا
MultiDex
نامگذاریشدهاست.
نکتهی مهم:
در صورتی کهMinSDK >= 21
باشد این مشکل رخ نخواهد داد زیرا MultiDex در این حالت به صورت پیشفرض پشتیبانی میشود و نیاز به کار اضافه نیست.
در صورتی که برنامه این خطا را دارد، مشکل شما MultiDex نیست.
فعالکردن MultiDex در برنامه
اضافهکردن کد گریدل
در فایل android/app/build.gradle
این موارد را اضافه کنید:
android {
defaultConfig {
// ...
multiDexEnabled true
}
}
- AndroidX
- Android support
dependencies {
implementation "androidx.multidex:multidex:2.0.1"
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
تغییردادن کلاس اپلیکیشن
- به آدرس
android/src/main/java or kotlin/<your_app>
بروید.your_app
مسیر پکیج برنامهی شماست
کلاس MainApplication را تغییر دهید به طوریکه به جای کلاس Application کلاس MultidexApplication را extend کند.