एम्बेड किया गया DEX कोड सीधे APK से चलाएं

Android 10 (एपीआई लेवल 29) और इसके बाद के वर्शन वाले डिवाइसों पर, प्लैटफ़ॉर्म को यह निर्देश दिया जा सकता है कि वह आपके ऐप्लिकेशन की APK फ़ाइल से, एम्बेड किए गए DEX कोड को सीधे तौर पर चलाए. अगर कोई हमलावर, डिवाइस पर स्थानीय तौर पर कंपाइल किए गए कोड में छेड़छाड़ करता है, तो इस विकल्प की मदद से हमले को रोका जा सकता है.

अगर Gradle बिल्ड सिस्टम का इस्तेमाल किया जा रहा है, तो इस सुविधा को चालू करने के लिए, यह तरीका अपनाएं:

  • अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल के <application> एलिमेंट में, android::useEmbeddedDex एट्रिब्यूट को true पर सेट करें.

  • मॉड्यूल-लेवल की build.gradle.kts फ़ाइल में, useLegacyPackaging को false पर सेट करें. अगर Groovy का इस्तेमाल किया जा रहा है, तो build.gradle फ़ाइल में यह सेटिंग करें.

    Kotlin

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    शानदार

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

अगर Bazel बिल्ड सिस्टम का इस्तेमाल किया जा रहा है, तो इस सुविधा को चालू करने के लिए, अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल के <application> एलिमेंट में, android:useEmbeddedDex एट्रिब्यूट को true पर सेट करें. साथ ही, DEX फ़ाइलों को कंप्रेस न करें:

android_binary(
   ...
   nocompress_extensions = [".dex"],
)