Flutter:Google Play Consoleのリリース前レポートで「Unable to start activity」のクラッシュ報告(Google Wear)
結論:発生デバイスがGoogle Wearで、ウェアラブル非対応予定のアプリなら、無視する
2023/3/28 Flutter エラー・バグ日記
Google Play Consoleにアップデートしたアプリをリリースしようとしたら、リリース前レポートで、以下のクラッシュ報告が来ていた。
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.######/com.######.MainActivity}: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found
発生したのはウェアラブルのエミュレーターだった
レポート内のデバイスを確認すると「Google Wear (仮想)」とあり、OSバージョンは「Android 11(SDK 30)」だった。
確かに、レポート内の動画を見ると、「Unable to start activity」とあるとおり、アプリが起動していない模様。
また、アプリ内に実装しているFirebase Crashlyticsにも同時刻に報告が来ており、デバイスを見ると「Sdk_gwear_g3_x86」と表示されていた。
調べるとGoogle Wearのエミュレーターらしいので、ウェアラブルだとエラーになる、という話らしい。
ウェアラブル用に開発していないため、正常に動作しないのは当然なのだが。。
最近、同様の報告が複数ある
下記記事で、自分とほぼ同じ状況が報告されていた(いずれも2023年3月の報告)。
解決マークは付いていないが、
- Google Play Consoleの不具合だから、無視して良い
- 新しくビルドしたらクラッシュ報告はなくなった
という結論が投稿されている。
自分も他に修正したい部分があったので、今回のクラッシュ報告を受けた後、新しいaabファイルをアップロードし直したところ、今度はリリース前レポートのクラッシュ報告はなくなった。
テストされたデバイス一覧を見ると、その中には「Google Wear (仮想)」は含まれていなかった。
たまたま、今回はリリース前レポートのデバイスに選ばれなかったので、クラッシュ報告を回避できた模様。
Google Wearを対象外にする方法が不明。。
こちらのAndroid公式説明
によれば、ウエアラブルアプリ(Wear OS対応)にするには、「app/build.gradle」や「AndroidManifest.xml」にウェアラブル用の設定を追記する必要がある。
自分のアプリにはこれらを設定していないので、なぜリリース前レポートで「Google Wear」が選ばれたのだろうか。。
ちなみに、Google Play Consoleの「デバイスカタログ」で、特定デバイスをサポート対象外に指定できるが、下図のように、
デバイスタイプを「ウェアラブル」にすると
0 件のサポートされているデバイスモデル
と表示されしまい、ウェアラブル端末のリストが出てこないので、対象外に設定できなかった。
今ひとつ理解不足ではあるが、、リリース前レポートで「Google Wear」がテスト端末に選ばれてしまったときは、クラッシュ報告があってもスルーする、と考えておくことにする。
\一般的なエラー対処法をまとめた記事はこちら/
リリースしたアプリ(全てFlutterで開発)
個人アプリ開発で役立ったもの
おすすめの学習教材
\超初心者向けでオススメな元Udemyの講座/
\キャンペーン時を狙えば安価で網羅的な内容が学べる(日本語訳あり)/
\Gitの基礎について無料で学べる/
おすすめの学習書籍
\実用的。image_pickerに関してかなり助けられた/
\Dartの基礎文法を素早くインプットできる/