🥶

【Flutter】Google Play Storeからインストールした時のみ、画面が真っ白のまま起動できなくなる問題の解決法

2022/05/26に公開約1,600字

概要

エミュレーターでは、問題なく動く。
flutter run で実機テストを行なった場合でも、問題なく動く。
しかし、Google Play Store経由でアプリインストールした場合のみ、起動時に画面が真っ白(White screen)になったまま動かなくなる問題の解決法です。

解決策

自分の場合、build.gradle に、shrinkResources false(圧縮OFF)とminifyEnabled false(最適化OFF)を追加することで解決できました。

android/app/build.gradle
buildTypes {
        release {
	
            <!-- 中略 -->
	    
            // GooglePlayStore経由でインストールした場合のみ、起動時にWhiteScreenのまま動かなくなる問題の解決
            // ref: https://blog.pentagon.tokyo/1824/
            shrinkResources false
            minifyEnabled false
        }
    }

参考にした以下のissueによると、useProguard false (難読化OFF)も必要らしいのですが、自分の場合、useProguard を追加するとビルドエラー(No signature of method: build_xxxx)が起きたので、取り除きました。

https://github.com/flutter/flutter/issues/70558#issuecomment-832566022

ちなみにビルドは、flutter build appbundle --dart-define=ROOT_URL="https://www.diqt.net"といった形で行っています。

https://github.com/kawanji01/DiQt/wiki/Androidのリリース方法

余談: GooglePlayStore経由でもテストしよう。

普段使いはiPhoneなので、今回の件はユーザーさんからのご報告によって初めて気づいたのですが、久しぶりに変な汗をかきました。
こういう、GooglePlayStore経由でインストールした場合でのみ発生するバグもあるので、きちんとリリース前には、GooglePlayConsoleでテスト配信を行って実機テストを行いましょう!!(戒め)

かくいう自分も、Androidは「オープンテスト」と「クローズドテスト」と「内部テスト」と3つも種類があってよくわからないし、TestFlightと違ってテスト配信するだけでも審査が必要で時間がかかるから面倒だと思ってたんですが、これは本当よくないですね。
内部テストであれば審査も必要なく、すぐに確認できるのでオススメです。

今回は、アプリのレビューからも問題をご報告いただいたりして、本当に冷や汗をかきました。
(幸運にも、星を4つもつけてご報告いただける優しいユーザーさんで本当に助かりました😭)

もうぜっっったいに内部テスト前にリリースしないぞ!!!!

ちなみにDiQtのリポジトリは公開してるので、レビューや⭐️スターをいただけたら嬉しいです!!

https://github.com/kawanji01/DiQt

どうぞ今度ともDiQtをよろしくお願いいたします!!

参考

https://blog.pentagon.tokyo/1824/

https://github.com/flutter/flutter/issues/70558

Discussion

ログインするとコメントできます