Skip to main content

فعال‌کردن مالتی‌دکس

MultiDex چیست؟

در صورتی که minSdkVersion پایینتر از ۲۱ باشد و پروژه را اجرا کنید ممکن است این خطا رخ‌دهد:



در ماشین مجازی Dalvik تعداد متد‌ها در یک فایل .dex بایستی از حد تعیین‌شده‌ی 64K فراتر نروند. در غیراینصورت آدرس‌دهی برای Dalvik به درستی انجام‌نخواهدشد. به همین دلیل بایستی از چند فایل .dex استفاده‌کرد که اصطلاحا MultiDex نام‌گذاری‌شده‌است.

نکته‌ی مهم:
در صورتی که MinSDK >= 21 باشد این مشکل رخ نخواهد داد زیرا MultiDex در این حالت به صورت پیش‌فرض پشتیبانی می‌شود و نیاز به کار اضافه نیست.
در صورتی که برنامه این خطا را دارد، مشکل شما MultiDex نیست.

فعال‌کردن MultiDex در برنامه

اضافه‌کردن کد گریدل

‌در فایل android/app/build.gradle این موارد را اضافه کنید:

android {
defaultConfig {
// ...
multiDexEnabled true
}
}
dependencies {
implementation "androidx.multidex:multidex:2.0.1"
}

تغییردادن کلاس اپلیکیشن

  • به آدرس android/src/main/java or kotlin/<your_app> بروید.
    your_app مسیر پکیج برنامه‌ی شماست

کلاس MainApplication را تغییر دهید به طوریکه به جای کلاس Application کلاس MultidexApplication را extend کند.