Android 上的 ML Kit 模型安裝路徑
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
根據預設,所有 ML Kit 功能都會使用 Google 訓練的機器學習模型 (稱為基礎模型)。本指南僅適用於基本模型。請參閱這篇文章,瞭解如何設定自訂模型。
您可以透過下列任一方式安裝 ML Kit API 中的模型:
- 未分割:模型會透過 Google Play 服務下載及管理。
- 已組合:模型會在建構期間與應用程式建立靜態連結。
- 動態下載:系統會視需要下載模型。
各個 API 支援的安裝路徑
下表列出各 ML Kit 功能支援的模型安裝路徑:
API 專用指南會顯示可用於特定 API 的安裝選項。
安裝選項的主要差異
如何選擇套裝組合和非套裝組合
如果 API 同時支援內含和非內含安裝選項:
如何下載模型
使用未內含模型選項時,您可以指定模型下載至裝置的方式:
您可以在應用程式的 AndroidManifest.xml
檔案中加入宣告,啟用安裝時模型下載功能。舉例來說,下方程式碼片段說明如何設定應用程式,讓應用程式在從 Play 商店安裝後,自動下載條碼掃描模型:
<application ...>
...
<meta-data
android:name="com.google.mlkit.vision.DEPENDENCIES"
android:value="barcode" >
<!-- To use multiple models: android:value="barcode,model2,model3" -->
</application>
您可以透過 Google Play 服務的 ModuleInstallClient API,要求明確下載。
如果您未啟用安裝時的模型下載功能,或未要求明確下載,系統會在您首次執行這項功能時下載模型。下載完成前,推論要求會失敗。
如何更新模型
如要使用內含模型或動態下載模型選項時更新模型,請按照下列步驟操作:
更新應用程式的 Gradle 檔案,以便使用最新的 ML Kit 功能用戶端程式庫。
dependencies {
implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
}
重建應用程式。
為什麼有些 API 提供可動態下載的模型
部分 ML Kit API 的模型選項過多,無法打包。舉例來說,數位墨水辨識功能支援 300 多種語言,但在安裝期間,不一定需要將所有語言都納入該功能。為此,我們提供第三種安裝選項,在安裝完成後,系統會視需要下載模型。目前只有數位墨水辨識、翻譯和實體擷取有這個選項。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-29 (世界標準時間)。
[null,null,["上次更新時間:2025-08-29 (世界標準時間)。"],[[["\u003cp\u003eML Kit features utilize Google-trained machine learning models, offering three installation options: unbundled, bundled, and dynamically downloaded.\u003c/p\u003e\n"],["\u003cp\u003eUnbundled models are downloaded via Google Play Services, while bundled models are included in the app, and dynamically downloaded models are fetched on demand.\u003c/p\u003e\n"],["\u003cp\u003eChoosing between bundled and unbundled models depends on priorities: bundled for immediate functionality, unbundled for smaller app size and automatic updates.\u003c/p\u003e\n"],["\u003cp\u003eModels can be downloaded at install time, explicitly requested, or downloaded on first use, and updates for bundled or dynamically downloaded models require app updates.\u003c/p\u003e\n"],["\u003cp\u003eDynamically downloaded models are offered for APIs with extensive model options, such as Digital Ink Recognition and Translation, to avoid bundling all possibilities.\u003c/p\u003e\n"]]],[],null,["All ML Kit features make use of Google-trained machine learning models (known as\nbase models) by default. This guide is only applicable to base models. [See here\nfor guidance on custom models.](/ml-kit/custom-models)\n\nModels in ML Kit APIs can be installed in one of three ways:\n\n1. **Unbundled:** Models are downloaded and managed via Google Play Services.\n2. **Bundled:** Models are statically linked to your app at build time.\n3. **Dynamically downloaded:** Models are downloaded on demand.\n\nSupported installation paths for each API\n\nThe table below shows which model installation paths are supported by each ML\nKit feature:\n\n|---------------------------------------------------------------------------|---------------|-------------|----------------------------|\n| | **Unbundled** | **Bundled** | **Dynamically downloaded** |\n| [Text recognition v2](/ml-kit/vision/text-recognition/v2/android) | ✅ | ✅ | |\n| [Face detection](/ml-kit/vision/face-detection/android) | ✅ | ✅ | |\n| [Face mesh detection](/ml-kit/vision/face-mesh-detection/android) | | ✅ | |\n| [Pose detection](/ml-kit/vision/pose-detection/android) | | ✅ | |\n| [Selfie segmentation](/ml-kit/vision/selfie-segmentation/android) | | ✅ | |\n| [Barcode scanning](/ml-kit/vision/barcode-scanning/android) | ✅ | ✅ | |\n| [Image labeling](/ml-kit/vision/image-labeling/android) | ✅ | ✅ | |\n| [Object detection and tracking](/ml-kit/vision/object-detection/android) | | ✅ | |\n| [Digital ink recognition](/ml-kit/vision/digital-ink-recognition/android) | | | ✅ |\n| [Document scanner](/ml-kit/vision/doc-scanner) | ✅ | | |\n| [Subject segmentation](/ml-kit/vision/subject-segmentation/android) | ✅ | | |\n| [Google code scanner](/ml-kit/code-scanner) | ✅ | | |\n| [Language identification](/ml-kit/language/identification/android) | ✅ | ✅ | |\n| [Translation](/ml-kit/language/translation/android) | | | ✅ |\n| [Smart Reply](/ml-kit/language/smart-reply/android) | ✅ | ✅ | |\n| [Entity Extraction](/ml-kit/language/entity-extraction/android) | | | ✅ |\n\nAPI-specific guides show which installation options are available for the given\nAPI.\n\nKey differences between installation options\n\n|----------------------------------------------|-------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | **Unbundled** | **Bundled** | **Dynamically downloaded** |\n| **Where are models stored?** | Resides in Google Play Services and is not counted towards the storage used by this app | Saved in [app-specific storage](https://developer.android.com/training/data-storage/app-specific) after installation | Saved in [app-specific storage](https://developer.android.com/training/data-storage/app-specific) after model download |\n| **How does model size affect app size?** | Does not contribute to app size | Directly contributes to app size | Does not contribute to app size but increase the [app-specific storage](https://developer.android.com/training/data-storage/app-specific) |\n| **When are models updated?** | Automatically updated when a newer version is released | [Need to update the app to update model](#update-model) | [Need to update the app to update model](#update-model) |\n| **When are models downloaded?** | [Models must be downloaded before use](#download-models) | All models and features are included when the app is installed, so are usable immediately | Model downloads, updates, and deletions must be managed manually using the [RemoteModelManager](/android/reference/com/google/mlkit/common/model/RemoteModelManager) API |\n| **When are models removed from the device?** | Google Play Services will only remove the model from storage if all apps that depend on the model are uninstalled | Models are removed from [app-specific storage](https://developer.android.com/training/data-storage/app-specific) when the app is uninstalled | Downloaded models are removed from [app-specific storage](https://developer.android.com/training/data-storage/app-specific) when the app is uninstalled |\n\nHow to choose between bundled and unbundled\n\nIf an API supports both the bundled and unbundled installation options:\n\n- Use the bundled option if you prioritize:\n\n - Complete feature functionality immediately after app installation\n - Feature functionality without network connection after app installation\n- Use the unbundled option if you prioritize:\n\n - Smaller app size\n - Automated model updates by Google Play Services\n\nHow to download models\n\nWhen using the unbundled model option, you can specify how you want models to be\ndownloaded to the device:\n\n- You can enable **install-time model downloads** by adding a declaration to\n your app's `AndroidManifest.xml` file. For example, the code snippet below\n shows how to configure your app to automatically download the Barcode\n Scanning model after your app is installed from the Play Store:\n\n \u003capplication ...\u003e\n ...\n \u003cmeta-data\n android:name=\"com.google.mlkit.vision.DEPENDENCIES\"\n android:value=\"barcode\" \u003e\n \u003c!-- To use multiple models: android:value=\"barcode,model2,model3\" --\u003e\n \u003c/application\u003e\n\n- You can **request explicit download** through Google Play Services\n [ModuleInstallClient API](/android/guides/module-install-apis).\n\n- If you don't enable install-time model downloads or request explicit\n download, the model will be downloaded the first time you run the feature.\n Until the download is completed, inference requests will fail.\n\nHow to update models\n\nTo update your models when using the bundled model or the dynamically downloaded\nmodels option:\n\n1. Update your app's gradle file to use the latest ML Kit feature client\n library.\n\n dependencies {\n implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API\n }\n\n2. Rebuild your app.\n\nWhy some APIs offer dynamically downloaded models\n\nSome ML Kit API have too many model options to bundle. For example, [Digital ink\nrecognition](/ml-kit/vision/digital-ink-recognition) supports [300+\nlanguages](/ml-kit/vision/digital-ink-recognition/base-models), and it's not\nalways necessary to put every language inside the feature during installation.\nFor that purpose, we provide the third installation option, in which models are\ndownloaded on demand after installation. Currently, only [Digital ink\nrecognition](/ml-kit/vision/digital-ink-recognition),\n[Translation](/ml-kit/language/translation) and [Entity\nextraction](/ml-kit/language/entity-extraction) have this option."]]