Exécuter le code DEX intégré directement à partir de l'APK

Sur les appareils équipés d'Android version 10 (niveau 29 d'API) ou ultérieure, vous pouvez demander à la plate-forme d'exécuter un code DEX intégré directement à partir du fichier APK de votre application. Cette option permet de prévenir toute attaque si un pirate informatique parvient à manipuler le code compilé localement sur l'appareil.

Si vous utilisez le système de compilation Gradle, procédez comme suit pour activer cette fonctionnalité :

  • Définissez l'attribut android::useEmbeddedDex sur true dans l'élément <application> du fichier manifeste de votre application.

  • Définissez useLegacyPackaging sur false dans le fichier build.gradle.kts au niveau du module (fichier build.gradle si vous utilisez Groovy).

    Kotlin

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    Groovy

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

Si vous utilisez le système de compilation Bazel, pour activer cette fonctionnalité, définissez android:useEmbeddedDex sur true dans l'élément <application> du fichier manifeste de votre application et laissez les fichiers DEX non compressés :

android_binary(
   ...
   nocompress_extensions = [".dex"],
)