הרצת קוד 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
        }
      }
      

אם אתם משתמשים במערכת ה-build של Bazel, כדי להפעיל את התכונה הזו צריך להגדיר את המאפיין android:useEmbeddedDex כ-true באלמנט <application> בקובץ המניפסט של האפליקציה, ולהשאיר את קובצי ה-DEX ללא דחיסה:

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