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

Выпущена первая альфа Android Q Он поддерживает запуск встроенного кода DEX непосредственно из APK. Как включить это в файле Gradle?

1 ответ

Согласно документации разработчиков Android:

Теперь вы можете указать платформе запускать встроенный код DEX непосредственно из файла APK вашего приложения. Эта опция может помочь предотвратить атаку, если злоумышленнику когда-либо удалось вмешаться в локально скомпилированный код на устройстве.

Чтобы включить эту функцию, установите для атрибута android: useEmbeddedDex значение true в элементе файла манифеста вашего приложения. Вы также должны создать APK, содержащий несжатый код DEX, к которому ART может получить прямой доступ. Добавьте следующие параметры в файл конфигурации Gradle или Bazel, чтобы создать APK с несжатым кодом DEX:

Gradle

aaptOptions {
   noCompress 'dex'
}

В файле манифеста:

<application
        ...
        android:useEmbeddedDex="true">
...
</application>

Имейте в виду, что атрибут this используется только в API уровня 28 и выше.

Другие вопросы по тегам