تشغيل رمز 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"],
)