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

במכשירים שמותקנת בהם גרסת Android 10 (API ברמה 29) ומעלה, אפשר להגדיר לפלטפורמה להפעיל קוד DEX מוטמע ישירות מקובץ ה-APK של האפליקציה. האפשרות הזו יכולה לעזור למנוע מתקפה אם תוקף הצליח לשנות את הקוד שקומפל באופן מקומי במכשיר.

אם אתם משתמשים במערכת ה-build של 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"],
)