Android
Xamarin
android開発

Huawei製Android端末で Google Play Services Vision が動かない

症状

2018年5月初旬より、Huawei製Android端末において、Google Play Services Vision の機能が使用できなくなる不具合が発生しています。

このため、今まで正常に動作していたバーコード読取や顔認証が突然反応しなくなる現象が起きています。

コード的には、BarcodeDetector のインスタンス作成後、isOperational が終始 false を返し、true になりません。
この時、下記エラーが繰り返し出力されます。

W/DynamiteModule(19073): Local module descriptor class for com.google.android.gms.vision.dynamite not found.
I/DynamiteModule(19073): Considering local module com.google.android.gms.vision.dynamite:0 and remote module com.google.android.gms.vision.dynamite:1702
I/DynamiteModule(19073): Selected remote version of com.google.android.gms.vision.dynamite, version >= 1702
I/Vision  (19073): Loading library libbarhopper.so
I/Vision  (19073): libbarhopper.so library load status: false

影響範囲

  • Huawei製 Android端末(主に7.0)
  • GooglePlayServices.Vision を使用したバーコード/QRコード読取、OCR、顔認証

※上記条件に該当すれば、Xamarinでも発生します。

原因・対策

現時点では原因は不明で、根本的な解決策は見つかっていません。
Google Play Services あるいは Huawei側の対応を待つしかない状況です。

因みに、端末で Google Play Services のキャッシュをクリアする等で一時的に解消するケースがありますが再起動で元に戻ってしまうようです。

詳細情報

Google「Issue Tracker」や GitHub の「Android Vision API Samples」に、本件に関する多数の障害情報が投稿されています。上記内容はこれらの情報に基づいています。
So, no QR reader, no Ocr Detector, no face recognition on Huawei...
Does not read the QR on Huawei devices
isOperational() returns false after a reboot
Library delays or fails on download