במכשירים שמותקנת בהם גרסת 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"], )
מומלץ
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- Tapjacking
- android:exported
- # ניהול מפתחות {:#key-management}