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