एम्बेड किया गया 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"],
)