Google Playのリリース前レポートで「no such table: media_store_extension」のクラッシュ報告 〜機種xiaomi Redmi 6A〜

2022/6/28 Flutter エラー・バグ日記 

Google Play Consoleで、更新版のアプリをリリースしたが、後になって、リリース前レポートクラッシュ報告が来ていたことに気づいて焦る。

 

最終的に、なんとか結論にたどり着いたが、日本語の情報が見つからなかったので、備忘のため記録。

 

本記事はライトな日記思考で書いているので、詳細説明はしておらず、基本、テキストのみで画像とかは載せておりません。。m(_ _)m

解説記事ではないため、解決していない内容や、その時々の間違った解釈を述べてしまっている可能性が大いにありますので、何卒、ご了承ください。

 

クラッシュ時のスタックトレースと、Google Play Consoleの画面は以下の通り(logcat全体は省略)。

 

java.lang.RuntimeException: android.database.sqlite.SQLiteException: no such table: media_store_extension (code 1): , while compiling: SELECT id FROM media_store_extension WHERE POPULATED_COLUMNS != 134217726 OR DATE_MODIFIED = -1 OR FINGERPRINT IS NULL

 

 

エラー文中に「SQLiteException」とあるので、データベース周りが怪しい。

 

今回、sqfliteのデータベース部分を修正したので、恐れていたマイグレーション処理がうまく行っていないのかも、、と焦る。

 

しかし、よく見ると、「no such table: media_store_extension」とあり、特に「media_store_extension」という名称のテーブルは作っていなかったので、不思議に思う。

 

また、機種は「xiaomi Redmi 6A」、OSのバージョンは「Android 8.1(SDK 27)」ということで、あまり一般的ではなさそうな環境でのエラー。

 

ネットでググるも、日本語の情報は全く見つからず。

 

英語では、最初にUnityでの開発で報告されている、下記記事をみつけた。

 

 

解決に至ってはいないようだったが、「xiaomi Redmi 6A」で発生したとの報告が多い点が気になった。

 

続けて探すと、次の記事を見つけた。

 

 

これはFlutterの例らしい。自分とほぼ同じ状況。

 

しかも、ここで質問されている方は、「自分のプロジェクトではSQLITEを使っていない」と書いている。

 

となると、データベース周りが原因ではないかもしれない(定義していないテーブル名がエラー文中に書かれていることにも合点がいく)。

 

続けて見ていくと、ベストアンサーとされているコメントでは、

 

  • 他の記事を参考に、一部コードの修正を行ってみたものの、改善しない
  • エラーは「xiaomi Redmi 6A」の機種だけで発生する
  • スタックトレースの詳細によると、エラーは、Googleのテストボット(リリース前レポートを作成するときのボット)が、スクリーンショットを撮る際に生じている
  • これはGoogle側のエラーであり、無視して問題ない

 

とのこと。

 

こちらのイシューにも類似の報告があり、同様のコメントがなされている。

 

 

そう言えば、リリース前レポートで発生する警告の中にも、アプリ側のコーディングが原因ではなく、Googleのボット側が原因で発生するものがいくつかあったことを思い出した。

 

その後、別の部分を修正する必要があったので(sqflite関係は一切変更せず)、再度、Google Play Consoleにアップロードしたところ、今度はリリース前レポートで、全く同じ「xiaomi Redmi 6A」の機種で、問題なしの判定になっていた。

 

 

以上、リリース前レポートで「xiaomi Redmi 6A」のクラッシュ報告(スタックトレースが「SQLite」云々という内容)を受けても、特段、気にしなくて良いものと理解。

 

\ Flutterの学習で役立ったコンテンツ・書籍 /

 

 

 


Dart入門 – Dartの要点をつかむためのクイックツアー
タイトルとURLをコピーしました