En dispositivos con 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.
Si usas el sistema de compilación de Gradle, haz lo siguiente para habilitar esta función:
Configura el atributo
android::useEmbeddedDex
comotrue
en el elemento<application>
del archivo de manifiesto de tu app.Configura
useLegacyPackaging
comofalse
en el archivobuild.gradle.kts
del módulo (archivobuild.gradle
si usas Groovy).Kotlin
packagingOptions { dex { useLegacyPackaging = false } }
Groovy
packagingOptions { dex { useLegacyPackaging false } }
Si usas el sistema de compilación de Bazel, para habilitar esta función, configura el atributo android:useEmbeddedDex
como true
en el elemento <application>
del archivo de manifiesto de tu app y deja los archivos DEX sin comprimir:
android_binary( ... nocompress_extensions = [".dex"], )
Recomendaciones para ti
- Nota: El texto del vínculo se muestra cuando JavaScript está desactivado
- Tapjacking
- android:exported
- # Administración de claves {:#key-management}