Mengurangi ukuran APK aplikasi Android ML Kit Anda
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Sebelum men-deploy aplikasi yang menggunakan model di perangkat ML Kit ke fase produksi,
pertimbangkan untuk mengikuti saran di halaman ini
untuk mengurangi ukuran download aplikasi Anda.
Membangun aplikasi Anda sebagai Android App Bundle
Buat dan deploy aplikasi Anda sebagai Android App Bundle, sehingga Google Play dapat secara otomatis membuat APK untuk kepadatan layar, arsitektur CPU, dan bahasa tertentu. Pengguna hanya perlu mendownload APK yang sesuai dengan konfigurasi perangkat mereka, dan yang terpenting, pengguna hanya mendownload library kode native yang sesuai dengan arsitektur perangkat mereka.
Tingkat lanjut: Memindahkan fitur ML opsional ke modul fitur dinamis
Jika Anda menggunakan ML Kit dalam fitur aplikasi Anda yang bukan tujuan utamanya,
pertimbangkan pembuatan ulang aplikasi untuk memindahkan fitur tersebut dan dependensi ML Kit-nya
ke modul fitur dinamis.
Agar fitur ML Kit berfungsi di modul fitur sesuai permintaan, di file build.gradle
APK dasar Anda, sertakan dependensi library dukungan fitur dinamis playstore ML Kit.
dependencies {
// ...
implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2'
}
Dengan demikian, Anda mencegah pengguna agar tidak perlu secara sia-sia mendownload model ML aplikasi Anda yang bisa saja berukuran besar.
Tingkat Lanjut: Mengecualikan biner ML Kit yang tidak digunakan
ML Kit dibuat dengan dukungan untuk arsitektur 32-bit maupun 64-bit. Jika aplikasi Anda hanya mendukung mode 32 bit — misalnya, karena Anda menggunakan library yang hanya menyediakan biner 32 bit — Anda dapat mengecualikan library ML Kit yang tidak digunakan dari build Anda:
android {
defaultConfig {
ndk {
// Don't package arm64-v8a or x86_64
abiFilters 'armeabi-v7a', 'x86'
}
}
}
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-09-04 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[[["\u003cp\u003eReduce your app's download size by building it as an Android App Bundle, enabling Google Play to deliver optimized APKs to users based on their device configurations.\u003c/p\u003e\n"],["\u003cp\u003eFor non-core ML features, leverage dynamic feature modules to deliver them on demand, minimizing the initial download size by excluding optional ML models.\u003c/p\u003e\n"],["\u003cp\u003eIf your app only supports 32-bit mode, exclude unused 64-bit ML Kit libraries to further reduce the app's size.\u003c/p\u003e\n"],["\u003cp\u003eTo enable ML Kit features in on-demand modules, include the \u003ccode\u003eplaystore-dynamic-feature-support\u003c/code\u003e library in your base APK's dependencies.\u003c/p\u003e\n"]]],[],null,["Before you deploy to production an app that uses an ML Kit on-device model,\nconsider following the advice on this page to reduce the download size of your\napp.\n\nBuild your app as an Android App Bundle\n\nBuild and deploy your app as an [Android App Bundle](//developer.android.com/guide/app-bundle/) so that Google\nPlay can automatically generate APKs for specific screen densities, CPU\narchitectures, and languages. Users will only have to download the APKs that\nmatch their device configuration, and most importantly, users only download the\nnative code libraries that match their device architecture.\n\nAdvanced: Move optional ML features to dynamic feature modules\n\nIf you use ML Kit in a feature of your app that isn't its primary purpose,\nconsider refactoring your app to move that feature and its ML Kit\ndependencies to a [dynamic feature module](//developer.android.com/studio/projects/dynamic-delivery#dynamic_feature_modules).\n\nIn order for ML Kit features to work in an on-demand feature module, in your base apk's `build.gradle` file,\ninclude the ML Kit playstore dynamic feature support library dependency. \n\n```carbon\ndependencies {\n // ...\n implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2'\n}\n```\n\nBy doing so, you prevent users from unnecessarily downloading your app's ML models, which can be\nlarge.\n\nAdvanced: Exclude unused ML Kit binaries\n\nML Kit is built with support for both 32-bit and 64-bit architectures. If\nyour app only supports 32-bit mode---for example, because you use a library\nthat only provides 32-bit binaries---you can exclude the unused ML Kit\nlibraries from your build: \n\n```carbon\nandroid {\n defaultConfig {\n ndk {\n // Don't package arm64-v8a or x86_64\n abiFilters 'armeabi-v7a', 'x86'\n }\n }\n}\n```"]]