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 { *; }
com.google.mlkit:face-detection:16.0.5
とcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4
以降、Bitmap によって構築された InputImage が、ゼロ以外の rotationDegrees を持つと、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 を使用している場合は、アクティビティ スコープのリスナーを登録できます。このリスナーは、アクティビティが停止すると自動的に削除されます。Fragment やその他の環境で ML Kit を使用している場合は、Fragment が破棄されたときに実行をシャットダウンするカスタム エグゼキュータを指定できます。例については、Vision クイックスタートの
ScopedExecutor.Java
をご覧ください。Bitmap 以外の画像形式による画像のラベル付けでは、Google Play 開発者サービスに依存する「thin」バリアントよりも、バンドル バリアントの方がパフォーマンスが優れています。
デジタルインク
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_IMMUTABLE
orFLAG_MUTABLE
be specified when creating aPendingIntent
. AndroidRuntime: Strongly consider usingFLAG_IMMUTABLE
, only useFLAG_MUTABLE
if some functionality depends on thePendingIntent
being 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 でのシミュレータはサポートされていません。
- X86_64 シミュレータは、Translation
'GoogleMLKit/Translate', '4.0.0'
以降とスマート リプライ'GoogleMLKit/SmartReply', '4.0.0'
以降ではサポートされていません。