เรียกใช้โค้ด DEX ที่ฝังจาก APK โดยตรง

ในอุปกรณ์ที่ใช้ Android 10 (API ระดับ 29) ขึ้นไป คุณสามารถบอกให้แพลตฟอร์มเรียกใช้โค้ด DEX ที่ฝังไว้จากไฟล์ APK ของแอปโดยตรง ตัวเลือกนี้จะช่วยป้องกันการโจมตีได้หากผู้โจมตีสามารถแทรกแซงโค้ดที่คอมไพล์ในเครื่องบนอุปกรณ์

หากคุณใช้ระบบการบิลด์ Gradle ให้ทำดังนี้เพื่อเปิดใช้ฟีเจอร์นี้

  • ตั้งค่าแอตทริบิวต์ android::useEmbeddedDex เป็น true ในองค์ประกอบ <application> ของไฟล์ Manifest ของแอป

  • ตั้งค่า useLegacyPackaging เป็น false ในไฟล์ build.gradle.kts ระดับโมดูล (ไฟล์ build.gradle หากคุณใช้ Groovy)

    Kotlin

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    Groovy

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

หากคุณใช้ระบบการบิลด์ Bazel ให้เปิดใช้ฟีเจอร์นี้โดยตั้งค่าแอตทริบิวต์ android:useEmbeddedDex เป็น true ในองค์ประกอบ <application> ของไฟล์ Manifest ของแอป และไม่ต้องบีบอัดไฟล์ DEX

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