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

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

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

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

  • मॉड्यूल-लेवल की build.gradle.kts फ़ाइल (अगर 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"],
)