הרצת קוד DEX מוטמע ישירות מ-APK

במכשירים שמותקנת בהם גרסת Android 10 (API ברמה 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"],
)