在运行 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 关闭时,将显示链接文本
- 点击劫持
- android:exported
- # 密钥管理 {:#key-management}