Giảm kích thước tệp APK của ứng dụng Bộ công cụ học máy trên Android
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trước khi triển khai một ứng dụng sử dụng mô hình trên thiết bị của Bộ công cụ học máy cho phiên bản chính thức, hãy cân nhắc làm theo lời khuyên trên trang này để giảm kích thước tải xuống của ứng dụng.
Tạo ứng dụng dưới dạng Android App Bundle
Tạo và triển khai ứng dụng dưới dạng Android App Bundle để Google Play có thể tự động tạo APK cho các mật độ màn hình, cấu trúc CPU và ngôn ngữ cụ thể. Người dùng sẽ chỉ phải tải các tệp APK khớp với cấu hình thiết bị của họ và quan trọng nhất là người dùng chỉ tải các thư viện mã gốc khớp với cấu trúc thiết bị của họ.
Nâng cao: Di chuyển các tính năng học máy không bắt buộc sang mô-đun tính năng động
Nếu bạn sử dụng Bộ công cụ học máy trong một tính năng của ứng dụng không phải là mục đích chính của ứng dụng, hãy cân nhắc việc tái cấu trúc ứng dụng để di chuyển tính năng đó và các phần phụ thuộc Bộ công cụ học máy sang một mô-đun tính năng động.
Để các tính năng của Bộ công cụ học máy hoạt động trong mô-đun tính năng theo yêu cầu, trong tệp build.gradle
của tệp apk cơ sở, hãy thêm phần phụ thuộc thư viện hỗ trợ tính năng động của Bộ công cụ học máy trên Cửa hàng Play.
dependencies {
// ...
implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2'
}
Bằng cách này, bạn sẽ ngăn người dùng tải các mô hình học máy có thể có kích thước lớn của ứng dụng xuống một cách không cần thiết.
Nâng cao: Loại trừ các tệp nhị phân Bộ công cụ học máy không dùng đến
Bộ công cụ học máy được xây dựng để hỗ trợ cả kiến trúc 32 bit và 64 bit. Nếu ứng dụng của bạn chỉ hỗ trợ chế độ 32 bit (ví dụ: vì bạn sử dụng một thư viện chỉ cung cấp tệp nhị phân 32 bit), bạn có thể loại trừ các thư viện Bộ công cụ học máy không sử dụng khỏi bản dựng:
android {
defaultConfig {
ndk {
// Don't package arm64-v8a or x86_64
abiFilters 'armeabi-v7a', 'x86'
}
}
}
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-08-29 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-29 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```"]]