Android 10(API レベル 29)以降を搭載するデバイスでは、埋め込み DEX コードをアプリの APK ファイルから直接実行するよう、プラットフォームに指示できます。この機能は、攻撃者がデバイス上のローカル コンパイル コードを改ざんしていた場合に、攻撃を防ぐのに役立ちます。
Gradle ビルドシステムを使用している場合、この機能を有効にするには、次の操作を行います。
アプリのマニフェスト ファイルの
<application>
要素で、android::useEmbeddedDex
属性をtrue
に設定します。モジュール レベルの
build.gradle.kts
ファイル(Groovy を使用している場合はbuild.gradle
ファイル)で、useLegacyPackaging
をfalse
に設定します。Kotlin
packagingOptions { dex { useLegacyPackaging = false } }
Groovy
packagingOptions { dex { useLegacyPackaging false } }
Bazel ビルドシステムを使用している場合、この機能を有効にするには、アプリのマニフェスト ファイルの <application>
要素で android:useEmbeddedDex
属性を true
に設定し、DEX ファイルは非圧縮のままにしておきます。
android_binary( ... nocompress_extensions = [".dex"], )
あなたへのおすすめ
- 注: JavaScript がオフになっている場合はリンクテキストが表示されます
- タップジャッキング
- android:exported
- # キー管理 {:#key-management}