ในอุปกรณ์ที่ใช้ Android 10 (API ระดับ 29) ขึ้นไป คุณสามารถบอกให้แพลตฟอร์มเรียกใช้โค้ด DEX ที่ฝังไว้จากไฟล์ APK ของแอปโดยตรง ตัวเลือกนี้ช่วยป้องกันการโจมตีได้ในกรณีที่ผู้โจมตีสามารถแทรกแซงโค้ดที่คอมไพล์ในเครื่องบนอุปกรณ์
หากคุณใช้ระบบการบิลด์ Gradle ให้ทำดังนี้เพื่อเปิดใช้ฟีเจอร์นี้
ตั้งค่าแอตทริบิวต์
android::useEmbeddedDex
เป็นtrue
ในองค์ประกอบ<application>
ของไฟล์ Manifest ของแอปตั้งค่า
useLegacyPackaging
เป็นfalse
ในไฟล์build.gradle.kts
ระดับโมดูล (ไฟล์build.gradle
หากคุณใช้ Groovy)Kotlin
packagingOptions { dex { useLegacyPackaging = false } }
ดึงดูด
packagingOptions { dex { useLegacyPackaging false } }
หากคุณใช้ระบบบิลด์ Bazel เพื่อเปิดใช้ฟีเจอร์นี้ ให้ตั้งค่าแอตทริบิวต์ android:useEmbeddedDex
เป็น true
ในองค์ประกอบ <application>
ของไฟล์ Manifest ของแอป และไม่ต้องบีบอัดไฟล์ DEX ดังนี้
android_binary( ... nocompress_extensions = [".dex"], )
แนะนำสำหรับคุณ
- หมายเหตุ: ข้อความลิงก์จะแสดงเมื่อ JavaScript ปิดอยู่
- Tapjacking
- android:exported
- # การจัดการคีย์ {:#key-management}