ลดขนาด APK ของแอป ML Kit สำหรับ Android

ก่อนทำให้ใช้งานได้กับเวอร์ชันที่ใช้งานจริง แอปที่ใช้โมเดลบนอุปกรณ์ ML Kit ลองทำตามคำแนะนำบนหน้านี้ เพื่อลดขนาดการดาวน์โหลด แอป

สร้างแอปเป็น Android App Bundle

สร้างและทำให้แอปใช้งานได้เป็น Android App Bundle เพื่อให้ Google Play สามารถสร้าง APK สำหรับความหนาแน่นของหน้าจอและ CPU ที่เฉพาะเจาะจงได้โดยอัตโนมัติ สถาปัตยกรรม และภาษา ผู้ใช้จะต้องดาวน์โหลด APK ที่ ตรงกับการกำหนดค่าอุปกรณ์ และที่สำคัญที่สุด ผู้ใช้จะดาวน์โหลดเฉพาะ ไลบรารีโค้ดแบบเนทีฟที่ตรงกับสถาปัตยกรรมของอุปกรณ์

ขั้นสูง: ย้ายฟีเจอร์ ML ที่ไม่บังคับไปยังโมดูลฟีเจอร์แบบไดนามิก

หากคุณใช้ ML Kit ในฟีเจอร์ของแอปที่ไม่ใช่วัตถุประสงค์หลัก ลองเปลี่ยนโครงสร้างภายในโค้ดแอปเพื่อย้ายฟีเจอร์และ ML Kit ทรัพยากร Dependency กับโมดูลฟีเจอร์แบบไดนามิก

เพื่อให้ฟีเจอร์ ML Kit ทำงานในโมดูลฟีเจอร์แบบออนดีมานด์ในไฟล์ build.gradle ของ APK พื้นฐานได้ ซึ่งรวมถึงทรัพยากร Dependency ของไลบรารีการสนับสนุนฟีเจอร์แบบไดนามิกของ ML Kit ของ Play Store

dependencies {
    // ...
    implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2'
}

การทำเช่นนี้จะเป็นการป้องกันไม่ให้ผู้ใช้ดาวน์โหลดโมเดล ML ของแอปโดยไม่จำเป็น ซึ่งอาจ ใหญ่

ขั้นสูง: ยกเว้นไบนารี ML Kit ที่ไม่ได้ใช้

ML Kit สร้างขึ้นเพื่อรองรับสถาปัตยกรรมทั้ง 32 บิตและ 64 บิต ถ้า แอปของคุณรองรับเฉพาะโหมด 32 บิต ตัวอย่างเช่น เนื่องจากคุณใช้ไลบรารี ที่มีเฉพาะไบนารี 32 บิต คุณสามารถยกเว้น ML Kit ที่ไม่ได้ใช้ได้ ไลบรารีจากบิลด์ของคุณ:

android {
  defaultConfig {
      ndk {
          // Don't package arm64-v8a or x86_64
          abiFilters 'armeabi-v7a', 'x86'
      }
  }
}