Eingebetteten DEX-Code direkt vom APK ausführen

Auf Geräten mit Android 10 (API-Level 29) und höher können Sie die Plattform anweisen, eingebetteten DEX-Code direkt aus der APK-Datei Ihrer App auszuführen. Diese Option kann dazu beitragen, einen Angriff zu verhindern, falls es einem Angreifer gelingt, den lokal kompilierten Code auf dem Gerät zu manipulieren.

Wenn Sie das Gradle-Build-System verwenden, gehen Sie so vor, um diese Funktion zu aktivieren:

  • Setzen Sie das Attribut android::useEmbeddedDex im Element <application> der Manifestdatei Ihrer App auf true.

  • Legen Sie in der Datei build.gradle.kts auf Modulebene (build.gradle-Datei, wenn Sie Groovy verwenden) für useLegacyPackaging den Wert false fest.

    Kotlin

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    Groovy

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

Wenn Sie das Bazel-Build-System verwenden, setzen Sie das Attribut android:useEmbeddedDex im Element <application> der Manifestdatei Ihrer App auf true und lassen Sie DEX-Dateien unkomprimiert, um diese Funktion zu aktivieren:

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