เรียกใช้โค้ด 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"],
)