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

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

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

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

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

    Kotlin

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    Groovy

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

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

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