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