En dispositivos que ejecutan Android 10 (nivel de API 29) y versiones posteriores, puedes indicarle a la plataforma que ejecute código DEX incorporado directamente desde el archivo APK de tu app. Esta opción puede ayudar a evitar un ataque si el atacante logró manipular el código compilado a nivel local en el dispositivo.
Para habilitar esta función, establece el valor del atributo android:useEmbeddedDex
en true
, en el elemento <application>
del archivo de manifiesto de tu app. También debes compilar un APK que contenga código DEX sin comprimir al que ART pueda acceder directamente. Agrega las siguientes opciones a tu archivo de configuración de Gradle o Bazel a fin de compilar un APK con código DEX sin comprimir. Para los usuarios de Gradle, esta configuración solo resulta necesaria en el complemento de Android para Gradle 4.2 y versiones posteriores.
KTS/Gradle
Groovy
packagingOptions { dex { useLegacyPackaging = false } }
Kotlin
aaptOptions { noCompress("dex") }
Bazel
android_binary( ... nocompress_extensions = [“.dex”], )