במכשירים שמותקנת בהם גרסת 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}