APK에서 직접 삽입된 DEX 코드 실행

Android 10(API 수준 29) 이상을 실행하는 기기에서는 삽입된 DEX 코드를 앱의 APK 파일에서 직접 실행하도록 플랫폼에 지시할 수 있습니다. 이 옵션을 사용하면 공격자가 기기에서 로컬로 컴파일된 코드를 변조한 경우에 공격을 차단할 수 있습니다.

Gradle 빌드 시스템을 사용하는 경우 이 기능을 사용 설정하려면 다음 단계를 따르세요.

  • 앱 매니페스트 파일의 <application> 요소에서 android::useEmbeddedDex 속성을 true로 설정합니다.

  • 모듈 수준의 build.gradle.kts 파일(Groovy를 사용하는 경우 build.gradle 파일)에서 useLegacyPackagingfalse로 설정합니다.

    Kotlin

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    Groovy

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

Bazel 빌드 시스템을 사용하는 경우 이 기능을 사용 설정하려면 앱 매니페스트 파일의 <application> 요소에서 android:useEmbeddedDex 속성을 true로 설정하고 DEX 파일을 압축하지 않은 상태로 둡니다.

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