Uruchamianie umieszczonego kodu DEX bezpośrednio z pliku APK

Na urządzeniach z Androidem 10 (poziom interfejsu API 29) lub nowszym możesz poinformować platformę, aby uruchamiała osadzony kod DEX bezpośrednio z pliku APK aplikacji. Ta opcja może pomóc w zapobieganiu atakom, jeśli hakerowi uda się naruszyć lokalnie skompilowany kod na urządzeniu.

Jeśli używasz systemu kompilacji Gradle, aby włączyć tę funkcję, wykonaj te czynności:

  • W elemencie <application> w pliku manifestu aplikacji ustaw atrybut android::useEmbeddedDex na true.

  • W pliku na poziomie modułu build.gradle.kts (lub w pliku build.gradle , jeśli używasz Groovy) ustaw useLegacyPackaging na false.

    Kotlin

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    Dynamiczny

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

Jeśli używasz systemu kompilacji Bazel, aby włączyć tę funkcję, ustaw atrybut android:useEmbeddedDex na true w elemencie <application> w pliku manifestu aplikacji i pozostaw pliki DEX nieskompresowane:

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