Запускайте встроенный код DEX прямо из APK

На устройствах под управлением Android 10 (уровень API 29) и выше вы можете указать платформе запускать встроенный код DEX непосредственно из APK-файла вашего приложения. Эта опция может помочь предотвратить атаку, если злоумышленнику удастся изменить локально скомпилированный код на устройстве.

Если вы используете систему сборки Gradle, для включения этой функции выполните следующие действия:

  • Установите атрибут android::useEmbeddedDex в true в элементе <application> файла манифеста вашего приложения.

  • Установите useLegacyPackaging в false в файле build.gradle.kts на уровне модуля (файле build.gradle , если вы используете Groovy).

    Котлин

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    Классный

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

Если вы используете систему сборки Bazel, чтобы включить эту функцию, установите атрибут android:useEmbeddedDex в значение true в элементе <application> файла манифеста вашего приложения и оставьте DEX-файлы несжатыми:

android_binary(
   ...
   nocompress_extensions = [".dex"],
)
{% verbatim %} {% endverbatim %} {% verbatim %} {% endverbatim %}