メインコンテンツへスキップ
【Flutter】リリースビルドで画面がグレー(灰色)になる現象の解決方法をわかりやすく解説
  1. Posts/

【Flutter】リリースビルドで画面がグレー(灰色)になる現象の解決方法をわかりやすく解説

flutterでリリースビルドのみ画面が灰色になるエラーに遭遇しました。

こちらのエラーの原因と解決方法を本記事でわかりやすく解説します。

この記事は以下のような方を対象者としています。

  • flutterでアプリを開発している方
  • flutterで画面が灰色になる現象に遭遇した方
  • flutterでリリースビルドのみ画面がグレーになる方

flutterでリリースビルドのみ画面が灰色になる現象 : 症状説明
#

まずはこちらをご覧ください。

デバッグビルドの場合

Alt text

リリースビルドの場合

Alt text

ご覧の通り、なぜかリリースビルドのみ画面の一部がグレーになります。

ログを見ても特にこのエラーに関するログは出ておらず、原因がわかりませんでした。

グレー部分はタップしても何も起こりません。

flutterでリリースビルドのみ画面が灰色になる現象 : 原因調査
#

色々と調査をしてみて、原因が判明しました。

どうやらFlexibleを誤った方法で使ったことが原因で画面の一部がグレー化していたようです。

上記ツイート内でも触れていますが、Flexibleを使う際にはColumn、Row、Flexのいずれかの内部でのみ利用できるようです。

それ以外で使用するとエラーにはならないものの、リリースビルドで動作確認を行うとFlexibleウィジェット内が全てグレー化します。

flutterでリリースビルドのみ画面が灰色になる現象 : 解決方法
#

解決方法としてはFlexibleウィジェットをContainerウィジェットで置き換えます

<!-- 修正前 -->
class ExampleWidget extends StatelessWidget {

  @override
  Widget build(BuildContext context) {

    return Flexible(
      child: Container(
          ~~~~~~~~~ 省略 ~~~~~~~~~
        ),
      ),
    );
  }
}

<!-- 修正後 -->
class ExampleWidget extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
<!-- FlexibleをContainerに修正 -->
    return Container(
      child: Container(
          ~~~~~~~~~ 省略 ~~~~~~~~~
        ),
      ),
    );
  }
}

これでリリースビルドを作成し動作確認すると、グレー化した部分が正常に表示されました。

関連記事

【アプリ開発】個人開発で広告収益を上げるための6つのポイントを解説
【Flutter】リワード広告をアプリ内に表示するやり方をわかりやすく解説【Admob】
【flutter】Lottieアニメーションライブラリの使い方をわかりやすく解説