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

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

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

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

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

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

เพื่อให้ฟีเจอร์ของ 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'
      }
  }
}