যদি আপনার অ্যাপের minSdk API 20 বা তার কম হয় এবং আপনার অ্যাপ এবং এটি উল্লেখ করা লাইব্রেরিগুলি 65,536 পদ্ধতির বেশি হয়, তাহলে আপনি নিম্নলিখিত বিল্ড ত্রুটির সম্মুখীন হবেন যা নির্দেশ করে যে আপনার অ্যাপটি Android বিল্ড আর্কিটেকচারের সীমাতে পৌঁছেছে:
trouble writing output: Too many field references: 131000; max is 65536. You may try using --multi-dex option.
বিল্ড সিস্টেমের পুরোনো সংস্করণগুলি একটি ভিন্ন ত্রুটির প্রতিবেদন করে, যা একই সমস্যার ইঙ্গিত দেয়:
Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536
এই ত্রুটির শর্তগুলি একটি সাধারণ সংখ্যা প্রদর্শন করে: 65536। এই সংখ্যাটি একটি একক ডালভিক এক্সিকিউটেবল (DEX) বাইটকোড ফাইলের মধ্যে কোড দ্বারা ব্যবহৃত মোট রেফারেন্সের সংখ্যা প্রতিনিধিত্ব করে। এই পৃষ্ঠাটি ব্যাখ্যা করে যে কীভাবে মাল্টিডেক্স নামে পরিচিত একটি অ্যাপ কনফিগারেশন সক্ষম করে এই সীমাবদ্ধতা অতিক্রম করা যায়, যা আপনার অ্যাপকে একাধিক DEX ফাইল তৈরি এবং পড়তে দেয়।
৬৪K রেফারেন্স সীমা সম্পর্কে
অ্যান্ড্রয়েড অ্যাপ (APK) ফাইলগুলিতে ডালভিক এক্সিকিউটেবল (DEX) ফাইলের আকারে এক্সিকিউটেবল বাইটকোড ফাইল থাকে, যার মধ্যে আপনার অ্যাপ চালানোর জন্য ব্যবহৃত কম্পাইল করা কোড থাকে। ডালভিক এক্সিকিউটেবল স্পেসিফিকেশন একটি DEX ফাইলের মধ্যে উল্লেখ করা যেতে পারে এমন মোট পদ্ধতির সংখ্যা 65,536-এ সীমাবদ্ধ করে—যার মধ্যে অ্যান্ড্রয়েড ফ্রেমওয়ার্ক পদ্ধতি, লাইব্রেরি পদ্ধতি এবং আপনার নিজস্ব কোডের পদ্ধতি অন্তর্ভুক্ত।
কম্পিউটার বিজ্ঞানের প্রেক্ষাপটে, কিলো বা K শব্দটি 1024 (অথবা 2^10) বোঝায়। যেহেতু 65,536 হল 64x1024 এর সমান, এই সীমাটিকে _64K রেফারেন্স সীমা_ বলা হয়।অ্যান্ড্রয়েড ৫.০ এর আগে মাল্টিডেক্স সাপোর্ট
 অ্যান্ড্রয়েড ৫.০ (এপিআই লেভেল ২১) এর পূর্ববর্তী প্ল্যাটফর্মের ভার্সনগুলি অ্যাপ কোড কার্যকর করার জন্য ডালভিক রানটাইম ব্যবহার করে। ডিফল্টরূপে, ডালভিক প্রতিটি APK-তে একটি classes.dex বাইটকোড ফাইলের মধ্যে অ্যাপগুলিকে সীমাবদ্ধ করে। এই সীমাবদ্ধতা এড়াতে, মডিউল-স্তরের build.gradle অথবা build.gradle.kts ফাইলে মাল্টিডেক্স লাইব্রেরি যোগ করুন: 
খাঁজকাটা
dependencies { def multidex_version = "2.0.1" implementation "androidx.multidex:multidex:$multidex_version" }
কোটলিন
dependencies { val multidex_version = "2.0.1" implementation("androidx.multidex:multidex:$multidex_version") }
এই লাইব্রেরিটি আপনার অ্যাপের প্রাথমিক DEX ফাইলের অংশ হয়ে যায় এবং তারপর অতিরিক্ত DEX ফাইল এবং এতে থাকা কোডের অ্যাক্সেস পরিচালনা করে। এই লাইব্রেরির বর্তমান সংস্করণগুলি দেখতে, মাল্টিডেক্স সংস্করণগুলি দেখুন।
আরও বিস্তারিত জানার জন্য, multidex এর জন্য আপনার অ্যাপটি কীভাবে কনফিগার করবেন সে সম্পর্কে বিভাগটি দেখুন।অ্যান্ড্রয়েড ৫.০ এবং উচ্চতর সংস্করণের জন্য মাল্টিডেক্স সমর্থন
 অ্যান্ড্রয়েড ৫.০ (এপিআই লেভেল ২১) এবং উচ্চতর সংস্করণে ART নামক একটি রানটাইম ব্যবহার করা হয় যা মূলত APK ফাইল থেকে একাধিক DEX ফাইল লোড করা সমর্থন করে। ART অ্যাপ ইনস্টলের সময় প্রাক-সংকলন সম্পাদন করে, classes N .dex ফাইলগুলি স্ক্যান করে এবং অ্যান্ড্রয়েড ডিভাইস দ্বারা কার্যকর করার জন্য একটি একক OAT ফাইলে কম্পাইল করে। অতএব, যদি আপনার minSdkVersion ২১ বা উচ্চতর হয়, তাহলে ডিফল্টরূপে মাল্টিডেক্স সক্রিয় থাকে এবং আপনার মাল্টিডেক্স লাইব্রেরির প্রয়োজন হয় না।
অ্যান্ড্রয়েড ৫.০ রানটাইম সম্পর্কে আরও তথ্যের জন্য, অ্যান্ড্রয়েড রানটাইম (এআরটি) এবং ডালভিক পড়ুন।
দ্রষ্টব্য: Android Studio ব্যবহার করে আপনার অ্যাপ চালানোর সময়, বিল্ডটি আপনার স্থাপন করা টার্গেট ডিভাইসগুলির জন্য অপ্টিমাইজ করা হয়। এর মধ্যে রয়েছে যখন টার্গেট ডিভাইসগুলি Android 5.0 এবং উচ্চতর সংস্করণে চলছে তখন মাল্টিডেক্স সক্ষম করা। যেহেতু এই অপ্টিমাইজেশনটি শুধুমাত্র Android Studio ব্যবহার করে আপনার অ্যাপ স্থাপন করার সময় প্রয়োগ করা হয়, তাই 64K সীমা এড়াতে আপনাকে মাল্টিডেক্সের জন্য আপনার রিলিজ বিল্ড কনফিগার করতে হতে পারে।
৬৪K সীমা এড়িয়ে চলুন
আপনার অ্যাপটিকে 64K বা তার বেশি পদ্ধতির রেফারেন্স ব্যবহার সক্ষম করার জন্য কনফিগার করার আগে, আপনার অ্যাপ কোড দ্বারা কল করা মোট রেফারেন্সের সংখ্যা কমাতে পদক্ষেপ নিন, যার মধ্যে আপনার অ্যাপ কোড বা অন্তর্ভুক্ত লাইব্রেরি দ্বারা সংজ্ঞায়িত পদ্ধতিগুলি অন্তর্ভুক্ত রয়েছে।
নিম্নলিখিত কৌশলগুলি আপনাকে DEX রেফারেন্স সীমা অতিক্রম করা এড়াতে সাহায্য করতে পারে:
- আপনার অ্যাপের প্রত্যক্ষ এবং সক্রীয় নির্ভরতা পর্যালোচনা করুন।
- আপনার অ্যাপে অন্তর্ভুক্ত করা কোনও বৃহৎ লাইব্রেরি নির্ভরতার মান অ্যাপে যোগ করা কোডের পরিমাণের চেয়ে বেশি কিনা তা বিবেচনা করুন। একটি সাধারণ কিন্তু সমস্যাযুক্ত ধরণ হল একটি খুব বড় লাইব্রেরি অন্তর্ভুক্ত করা কারণ কয়েকটি ইউটিলিটি পদ্ধতি কার্যকর ছিল। আপনার অ্যাপ কোড নির্ভরতা হ্রাস করা প্রায়শই আপনাকে DEX রেফারেন্স সীমা এড়াতে সাহায্য করতে পারে।
- R8 দিয়ে অব্যবহৃত কোডটি সরান
- আপনার রিলিজ বিল্ডের জন্য R8 চালানোর জন্য কোড শ্রিঙ্কিং সক্ষম করুন । আপনার APK গুলির সাথে অব্যবহৃত কোড পাঠানো হচ্ছে না তা নিশ্চিত করতে শ্রিঙ্কিং সক্ষম করুন। যদি কোড শ্রিঙ্কিং সঠিকভাবে কনফিগার করা থাকে, তাহলে এটি আপনার নির্ভরতা থেকে অব্যবহৃত কোড এবং রিসোর্সগুলিও সরিয়ে ফেলতে পারে।
এই কৌশলগুলি ব্যবহার করলে আপনার APK-এর সামগ্রিক আকার কমাতে এবং আপনার অ্যাপে মাল্টিডেক্সের প্রয়োজনীয়তা এড়াতে সাহায্য করতে পারে।
মাল্টিডেক্সের জন্য আপনার অ্যাপ কনফিগার করুন
দ্রষ্টব্য: যদি আপনারminSdkVersion 21 বা তার বেশিতে সেট করা থাকে, তাহলে ডিফল্টরূপে মাল্টিডেক্স সক্রিয় থাকে এবং আপনার মাল্টিডেক্স লাইব্রেরির প্রয়োজন নেই। যদি আপনার minSdkVersion 20 বা তার কম ভার্সনে সেট করা থাকে, তাহলে আপনাকে মাল্টিডেক্স লাইব্রেরি ব্যবহার করতে হবে এবং আপনার অ্যাপ প্রজেক্টে নিম্নলিখিত পরিবর্তনগুলি করতে হবে:
- মাল্টিডেক্স সক্ষম করতে মডিউল-লেভেল - build.gradleফাইলটি পরিবর্তন করুন এবং এখানে দেখানো হিসাবে মাল্টিডেক্স লাইব্রেরিটিকে নির্ভরতা হিসাবে যুক্ত করুন:- খাঁজকাটা- android { defaultConfig { ... minSdkVersion 15 targetSdkVersion 33 multiDexEnabled true } ... } dependencies { implementation "androidx.multidex:multidex:2.0.1" } - কোটলিন- android { defaultConfig { ... minSdk = 15 targetSdk = 33 multiDexEnabled = true } ... } dependencies { implementation("androidx.multidex:multidex:2.0.1") } 
-  আপনি Applicationক্লাসটি ওভাররাইড করেন কিনা তার উপর নির্ভর করে, নিম্নলিখিতগুলির মধ্যে একটি সম্পাদন করুন:- যদি আপনি - Applicationক্লাসটি ওভাররাইড না করেন, তাহলে আপনার ম্যানিফেস্ট ফাইলটি সম্পাদনা করে- android:nameট্যাগে- <application>সেট করুন:- <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapp"> <application android:name="androidx.multidex.MultiDexApplication" > ... </application> </manifest> 
- যদি আপনি - Applicationক্লাসটি ওভাররাইড করেন, তাহলে এটিকে- MultiDexApplicationপ্রসারিত করতে পরিবর্তন করুন, নিম্নরূপ:- কোটলিন- class MyApplication : MultiDexApplication() {...} - জাভা- public class MyApplication extends MultiDexApplication { ... } 
- যদি আপনি - Applicationক্লাসটি ওভাররাইড করেন কিন্তু বেস ক্লাস পরিবর্তন করা সম্ভব না হয়, তাহলে- attachBaseContext()পদ্ধতিটি ওভাররাইড করুন এবং multidex সক্ষম করতে- MultiDex.install(this)কল করুন:- কোটলিন- class MyApplication : SomeOtherApplication() { override fun attachBaseContext(base: Context) { super.attachBaseContext(base) MultiDex.install(this) } } - জাভা- public class MyApplication extends SomeOtherApplication { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } } - সতর্কতা: - MultiDex.install()- MultiDex.install()অথবা অন্য কোনও কোড কার্যকর করবেন না। MultiDex ট্রেসিং সেই কলগুলি অনুসরণ করবে না, যার ফলে DEX ফাইলগুলির মধ্যে একটি খারাপ ক্লাস পার্টিশনের কারণে- ClassNotFoundExceptionবা যাচাইকরণ ত্রুটি দেখা দেবে।
 
 এখন যখন আপনি আপনার অ্যাপ তৈরি করেন, তখন অ্যান্ড্রয়েড বিল্ড টুলগুলি প্রয়োজন অনুসারে একটি প্রাথমিক DEX ফাইল ( classes.dex ) এবং সমর্থনকারী DEX ফাইল ( classes2.dex , classes3.dex , ইত্যাদি) তৈরি করে। বিল্ড সিস্টেমটি তখন সমস্ত DEX ফাইল আপনার APK-তে প্যাকেজ করে।
 রানটাইমে, শুধুমাত্র প্রধান classes.dex ফাইলে অনুসন্ধান করার পরিবর্তে, মাল্টিডেক্স API গুলি আপনার পদ্ধতিগুলির জন্য উপলব্ধ সমস্ত DEX ফাইল অনুসন্ধান করার জন্য একটি বিশেষ ক্লাস লোডার ব্যবহার করে।
মাল্টিডেক্স লাইব্রেরির সীমাবদ্ধতা
মাল্টিডেক্স লাইব্রেরির কিছু জ্ঞাত সীমাবদ্ধতা রয়েছে। যখন আপনি আপনার অ্যাপ বিল্ড কনফিগারেশনে লাইব্রেরি অন্তর্ভুক্ত করবেন, তখন নিম্নলিখিত বিষয়গুলি বিবেচনা করুন:
- স্টার্টআপের সময় ডিভাইসের ডেটা পার্টিশনে DEX ফাইল ইনস্টল করা জটিল এবং যদি সেকেন্ডারি DEX ফাইলগুলি বড় হয় তবে অ্যাপ্লিকেশন নট রেসপন্ডিং (ANR) ত্রুটি দেখা দিতে পারে। এই সমস্যা এড়াতে, DEX ফাইলগুলির আকার কমাতে এবং কোডের অব্যবহৃত অংশগুলি সরাতে কোড সঙ্কুচিতকরণ সক্ষম করুন ।
-  অ্যান্ড্রয়েড ৫.০ (এপিআই লেভেল ২১) এর আগের ভার্সনগুলিতে চলার সময়, মাল্টিডেক্স ব্যবহার করা linearalloc সীমা ( ইস্যু ৩৭০০৮১৪৩ ) অতিক্রম করার জন্য যথেষ্ট নয়। অ্যান্ড্রয়েড ৪.০ (এপিআই লেভেল ১৪) এ এই সীমা বাড়ানো হয়েছিল, কিন্তু তাতে সমস্যার সম্পূর্ণ সমাধান হয়নি।অ্যান্ড্রয়েড ৪.০ এর চেয়ে কম ভার্সনে, আপনি DEX ইনডেক্স লিমিটে পৌঁছানোর আগে লিনিয়ারঅ্যালোক লিমিটে পৌঁছাতে পারেন। তাই যদি আপনি ১৪ এর চেয়ে কম API লেভেল টার্গেট করেন, তাহলে প্ল্যাটফর্মের সেই ভার্সনগুলিতে ভালোভাবে পরীক্ষা করুন, কারণ আপনার অ্যাপটি শুরু হওয়ার সময় বা নির্দিষ্ট ক্লাসের গ্রুপ লোড করার সময় সমস্যা হতে পারে। কোড সঙ্কুচিত করা এই সমস্যাগুলি কমাতে পারে অথবা সম্ভবত দূর করতে পারে। 
প্রাথমিক DEX ফাইলে প্রয়োজনীয় ক্লাস ঘোষণা করুন
 মাল্টিডেক্স অ্যাপের জন্য প্রতিটি DEX ফাইল তৈরি করার সময়, বিল্ড টুলগুলি জটিল সিদ্ধান্ত গ্রহণ করে যা নির্ধারণ করে যে প্রাথমিক DEX ফাইলে কোন ক্লাসগুলি প্রয়োজন যাতে আপনার অ্যাপটি সফলভাবে শুরু হতে পারে। যদি স্টার্টআপের সময় প্রয়োজনীয় কোনও ক্লাস প্রাথমিক DEX ফাইলে সরবরাহ করা না থাকে, তাহলে আপনার অ্যাপটি java.lang.NoClassDefFoundError ত্রুটি সহ ক্র্যাশ করে।
বিল্ড টুলগুলি আপনার অ্যাপ কোড থেকে সরাসরি অ্যাক্সেস করা কোডের কোড পাথগুলি চিনতে পারে। তবে, এই সমস্যাটি তখন ঘটতে পারে যখন কোড পাথগুলি কম দৃশ্যমান হয়, যেমন যখন আপনি যে লাইব্রেরিটি ব্যবহার করেন তাতে জটিল নির্ভরতা থাকে। উদাহরণস্বরূপ, যদি কোডটি আত্মদর্শন ব্যবহার করে অথবা নেটিভ কোড থেকে জাভা পদ্ধতির আহ্বান করে, তাহলে প্রাথমিক DEX ফাইলে সেই ক্লাসগুলি প্রয়োজনীয় হিসাবে স্বীকৃত নাও হতে পারে।
 যদি আপনি java.lang.NoClassDefFoundError পান, তাহলে আপনাকে অবশ্যই আপনার বিল্ড টাইপের multiDexKeepProguard প্রপার্টি দিয়ে প্রাথমিক DEX ফাইলে প্রয়োজনীয় অতিরিক্ত ক্লাসগুলি ম্যানুয়ালি নির্দিষ্ট করতে হবে। যদি multiDexKeepProguard ফাইলে একটি ক্লাস মিলে যায়, তাহলে সেই ক্লাসটি প্রাথমিক DEX ফাইলে যোগ করা হবে।
মাল্টিডেক্সকিপপ্রোগার্ড প্রপার্টি
 multiDexKeepProguard ফাইলটি ProGuard এর মতো একই ফর্ম্যাট ব্যবহার করে এবং সম্পূর্ণ ProGuard ব্যাকরণ সমর্থন করে। আপনার অ্যাপে কী রাখা আছে তা কীভাবে কাস্টমাইজ করবেন সে সম্পর্কে আরও তথ্যের জন্য, Customize which code to keep দেখুন।
 multiDexKeepProguard এ আপনার নির্দিষ্ট করা ফাইলটিতে যেকোনো বৈধ ProGuard সিনট্যাক্সে -keep বিকল্প থাকা উচিত। উদাহরণস্বরূপ, -keep com.example.MyClass.class । আপনি multidex-config.pro নামে একটি ফাইল তৈরি করতে পারেন যা দেখতে এরকম: 
-keep class com.example.MyClass -keep class com.example.MyClassToo
যদি আপনি একটি প্যাকেজের সমস্ত ক্লাস নির্দিষ্ট করতে চান, তাহলে ফাইলটি এইরকম দেখাবে:
-keep class com.example.** { *; } // All classes in the com.example package
তারপর আপনি নিচের মত করে একটি বিল্ড টাইপের জন্য সেই ফাইলটি ঘোষণা করতে পারেন:
খাঁজকাটা
android { buildTypes { release { multiDexKeepProguard file('multidex-config.pro') ... } } }
কোটলিন
android { buildTypes { getByName("release") { multiDexKeepProguard = file("multidex-config.pro") ... } } }
ডেভেলপমেন্ট বিল্ডে মাল্টিডেক্স অপ্টিমাইজ করুন
একটি মাল্টিডেক্স কনফিগারেশনের জন্য বিল্ড প্রসেসিং সময় উল্লেখযোগ্যভাবে বৃদ্ধি প্রয়োজন কারণ বিল্ড সিস্টেমকে জটিল সিদ্ধান্ত নিতে হয় যে কোন ক্লাসগুলি প্রাথমিক DEX ফাইলে অন্তর্ভুক্ত করা উচিত এবং কোন ক্লাসগুলি সেকেন্ডারি DEX ফাইলগুলিতে অন্তর্ভুক্ত করা যেতে পারে। এর অর্থ হল মাল্টিডেক্স ব্যবহার করে ক্রমবর্ধমান বিল্ডগুলি সাধারণত বেশি সময় নেয় এবং সম্ভাব্যভাবে আপনার ডেভেলপমেন্ট প্রক্রিয়া ধীর করে দিতে পারে।
 দীর্ঘ বর্ধিত বিল্ড টাইম কমাতে, বিল্ডগুলির মধ্যে মাল্টিডেক্স আউটপুট পুনরায় ব্যবহার করতে প্রি-ডেক্সিং ব্যবহার করুন। প্রি-ডেক্সিং শুধুমাত্র Android 5.0 (API লেভেল 21) এবং উচ্চতর সংস্করণে উপলব্ধ ART ফর্ম্যাটের উপর নির্ভর করে। আপনি যদি Android Studio ব্যবহার করেন, তাহলে Android 5.0 (API লেভেল 21) বা উচ্চতর সংস্করণে চলমান ডিভাইসে আপনার অ্যাপ স্থাপন করার সময় IDE স্বয়ংক্রিয়ভাবে প্রি-ডেক্সিং ব্যবহার করে। তবে, আপনি যদি কমান্ড লাইন থেকে Gradle বিল্ডগুলি চালান, তাহলে প্রি-ডেক্সিং সক্ষম করার জন্য আপনাকে minSdkVersion 21 বা উচ্চতর সংস্করণে সেট করতে হবে।
minSdkVersion এর জন্য বিভিন্ন মান সহ, যেমনটি দেখানো হয়েছে: খাঁজকাটা
android { defaultConfig { ... multiDexEnabled true // The default minimum API level you want to support. minSdkVersion 15 } productFlavors { // Includes settings you want to keep only while developing your app. dev { // Enables pre-dexing for command-line builds. When using // Android Studio 2.3 or higher, the IDE enables pre-dexing // when deploying your app to a device running Android 5.0 // (API level 21) or higher, regardless of minSdkVersion. minSdkVersion 21 } prod { // If you've configured the defaultConfig block for the production version of // your app, you can leave this block empty and Gradle uses configurations in // the defaultConfig block instead. You still need to include this flavor. // Otherwise, all variants use the "dev" flavor configurations. } } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation "androidx.multidex:multidex:2.0.1" }
কোটলিন
android { defaultConfig { ... multiDexEnabled = true // The default minimum API level you want to support. minSdk = 15 } productFlavors { // Includes settings you want to keep only while developing your app. create("dev") { // Enables pre-dexing for command-line builds. When using // Android Studio 2.3 or higher, the IDE enables pre-dexing // when deploying your app to a device running Android 5.0 // (API level 21) or higher, regardless of minSdkVersion. minSdk = 21 } create("prod") { // If you've configured the defaultConfig block for the production version of // your app, you can leave this block empty and Gradle uses configurations in // the defaultConfig block instead. You still need to include this flavor. // Otherwise, all variants use the "dev" flavor configurations. } } buildTypes { getByName("release") { isMinifyEnabled = true proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") } } } dependencies { implementation("androidx.multidex:multidex:2.0.1") }
অ্যান্ড্রয়েড স্টুডিও অথবা কমান্ড লাইন থেকে বিল্ড স্পিড উন্নত করার জন্য আরও কৌশল জানতে, "আপনি আপনার বিল্ড স্পিড অপ্টিমাইজ করুন" পড়ুন। বিল্ড ভ্যারিয়েন্ট ব্যবহার সম্পর্কে আরও তথ্যের জন্য, বিল্ড ভ্যারিয়েন্ট কনফিগার করুন দেখুন।
 টিপস: যদি আপনার বিভিন্ন মাল্টিডেক্স চাহিদার জন্য বিভিন্ন বিল্ড ভেরিয়েন্ট থাকে, তাহলে আপনি প্রতিটি ভেরিয়েন্টের জন্য একটি ভিন্ন ম্যানিফেস্ট ফাইল সরবরাহ করতে পারেন যাতে শুধুমাত্র API লেভেল 20 এবং নিম্নের ফাইলটি <application> ট্যাগের নাম পরিবর্তন করে। আপনি প্রতিটি ভেরিয়েন্টের জন্য একটি ভিন্ন Application সাবক্লাসও তৈরি করতে পারেন যাতে শুধুমাত্র API লেভেল 20 এবং নিম্নের সাবক্লাসটি MultiDexApplication ক্লাস প্রসারিত করে অথবা MultiDex.install(this) কল করে।
মাল্টিডেক্স অ্যাপ পরীক্ষা করুন
 মাল্টিডেক্স অ্যাপের জন্য ইন্সট্রুমেন্টেশন টেস্ট লেখার সময়, যদি আপনি MonitoringInstrumentation অথবা AndroidJUnitRunner ইন্সট্রুমেন্টেশন ব্যবহার করেন, তাহলে কোনও অতিরিক্ত কনফিগারেশনের প্রয়োজন হয় না। যদি আপনি অন্য কোনও Instrumentation ব্যবহার করেন, তাহলে আপনাকে নিম্নলিখিত কোডটি দিয়ে এর onCreate() পদ্ধতিটি ওভাররাইড করতে হবে: 
কোটলিন
fun onCreate(arguments: Bundle) { MultiDex.install(targetContext) super.onCreate(arguments) ... }
জাভা
public void onCreate(Bundle arguments) { MultiDex.install(getTargetContext()); super.onCreate(arguments); ... }
