تشغيل رمز 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
        }
      }
      

    أنيق

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

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

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