在搭載 Android 10 (API 級別 29) 以上版本的裝置上,您可以指示平台直接從應用程式的 APK 檔案執行嵌入式 DEX 程式碼。如果攻擊者利用裝置上的本機編譯程式碼執行竄改攻擊,這種做法可協助防範。
如果您使用的是 Gradle 建構系統,請按照下列步驟啟用這項功能:
在應用程式資訊清單檔案的
<application>
元素中,將android::useEmbeddedDex
屬性設為true
。將模組層級
build.gradle.kts
檔案 (若使用 Groovy 則為build.gradle
檔案) 中的useLegacyPackaging
設為false
。Kotlin
packagingOptions { dex { useLegacyPackaging = false } }
Groovy
packagingOptions { dex { useLegacyPackaging false } }
若使用的是 Bazel 建構系統,如要啟用這項功能,請在應用程式資訊清單檔案的 <application>
元素中將 android:useEmbeddedDex
屬性設為 true
,並將 DEX 檔案保持在未壓縮狀態:
android_binary( ... nocompress_extensions = [".dex"], )
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- Tapjacking
- android:exported
- # 金鑰管理 {:#key-management}