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