Android に関する問題
- バンドルされた言語 ID の場合、AGP 7.0.0 以降にアップグレードするとアプリがクラッシュすることがあります。
com.google.mlkit:language-id:16.1.1以前でクラッシュを回避するには、次のルールを含めます。-keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }com.google.mlkit:language-id:17.0.0またはcom.google.mlkit:language-id:17.0.1でクラッシュを回避するには、次のルールを含めます。-keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; } - ゼロ以外の rotationDegrees を持つ Bitmap によって構築された InputImage は、
com.google.mlkit:face-detection:16.0.5とcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4以降で、FaceDetection API の「無効な回転」MlKitException を引き起こします。以前のバージョンを使用し、この問題の修正を含む次のリリースをお待ちください。 com.google.mlkit:barcode-scanning:16.1.0とcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3より前の BarcodeScanning SDK は、camera-camera2:1.0.0-beta08 以降のバージョンで実行されている一部のデバイスでは動作しません。この問題を回避するには、以前のバージョンの camera-camera2 を使用してください。次に例を示します。implementation "androidx.camera:camera-core:1.0.0-beta07" implementation "androidx.camera:camera-camera2:1.0.0-beta07" implementation "androidx.camera:camera-view:1.0.0-alpha14" implementation "androidx.camera:camera-extensions:1.0.0-alpha14" implementation "androidx.camera:camera-lifecycle:1.0.0-beta07"
com.google.mlkit:language-id:16.1.1以前では、ネイティブ メソッドがカスタムルールによって難読化されることがあります。java.lang.UnsatisfiedLinkErrorなどのエラーが発生した場合は、次のルールを含めてください。-keepclasseswithmembernames class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { native <methods>; }テキスト認識、画像ラベリング、オブジェクト検出とトラッキングの各 API では、CameraX と Camera2 のパフォーマンスは Camera1 と同等ではありません。これは、CameraX と Camera2 の画像形式の変換に時間がかかるためです。
タスク コールバックは、登録されているアクティビティまたはフラグメントが破棄された後に実行されることがあります。コールバックがその間に閉じられた検出器にアクセスしようとすると、例外が発生する可能性があります。アクティビティで ML Kit を使用している場合は、アクティビティの範囲のリスナーを登録できます。このリスナーは、アクティビティが停止すると自動的に削除されます。フラグメントや他の環境で ML Kit を使用している場合は、フラグメントが破棄されたときに実行を停止するカスタム エグゼキュータを指定できます。例については、Vision クイックスタートの
ScopedExecutor.Javaをご覧ください。Bitmap 以外の画像形式で画像ラベリングを行う場合、Google Play 開発者サービスに依存する「シン」バリアントよりも、バンドルされたバリアントの方がパフォーマンスが優れています。
デジタル インク
com.google.mlkit:digital-ink-recognition:17.0.0以前とエンティティ抽出com.google.mlkit:entity-extraction:16.0.0-beta2以前の場合、targetSdkVersionを 31 に設定して Android S で実行すると、次のランタイム例外が発生します。 この問題は、最新のリリースで修正されています。Targeting S+ (version 31 and above) requires that one of
FLAG_IMMUTABLEorFLAG_MUTABLEbe specified when creating aPendingIntent. AndroidRuntime: Strongly consider usingFLAG_IMMUTABLE, only useFLAG_MUTABLEif some functionality depends on thePendingIntentbeing mutable, e.g. if it needs to be used with inline replies or bubbles.古いバージョンを使用する場合は、回避策として
targetSdkVersionを 31 未満に設定するか、次のコードをbuild.gradleに追加します。// For apps targeting Android S+, add the following constraints { implementation 'androidx.work:work-runtime:2.7.0-alpha04' }
iOS に関する問題
- M1 ベースの Mac のシミュレータはサポートされていません。
- 翻訳
'GoogleMLKit/Translate', '4.0.0'以降とスマート リプライ'GoogleMLKit/SmartReply', '4.0.0'以後では、X86_64 シミュレータはサポートされていません。