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

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

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

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

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

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

หากต้องการให้ฟีเจอร์ ML Kit ทำงานในโมดูลฟีเจอร์แบบออนดีมานด์ ให้รวมไลบรารีการสนับสนุนฟีเจอร์แบบไดนามิกของ ML Kit ใน Playstore ไว้ในไฟล์ build.gradle ของ apk หลัก

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'
      }
  }
}