在搭载 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}
