ลดขนาด 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 ของการสนับสนุนฟีเจอร์แบบไดนามิกใน Play Store ของ ML Kit

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