تشغيل رمز DEX المضمّن مباشرةً من حزمة APK

على الأجهزة التي تعمل بالإصدار 10 من نظام التشغيل Android (المستوى 29 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يمكنك إخبار النظام الأساسي بتشغيل رمز DEX المضمّن مباشرةً من ملف APK الخاص بتطبيقك. يمكن أن يساعد هذا الخيار في منع حدوث هجوم إذا تمكّن أحد المهاجمين من التلاعب بالرمز البرمجي الذي تم تجميعه محليًا على الجهاز.

إذا كنت تستخدم نظام الإنشاء Gradle، اتّبِع الخطوات التالية لتفعيل هذه الميزة:

  • اضبط السمة android::useEmbeddedDex على true في العنصر <application> ضمن ملف البيان الخاص بتطبيقك.

  • اضبط قيمة useLegacyPackaging على false في ملف build.gradle.kts على مستوى الوحدة (ملف build.gradle إذا كنت تستخدم Groovy).

    Kotlin

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    Groovy

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

إذا كنت تستخدم نظام الإنشاء Bazel، لتفعيل هذه الميزة، اضبط السمة android:useEmbeddedDex على true في العنصر <application> من ملف بيان تطبيقك، واترك ملفات DEX غير مضغوطة:

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