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

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

Flutter開発 バグ修正 リリース対応 モバイルアプリ開発 Flutter アプリ開発 リリースビルド グレー画面 Flutterバグ解決 Flutterデバッグ iOSリリース Androidリリース モバイルアプリ開発 パフォーマンス最適化

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(
          ~~~~~~~~~ 省略 ~~~~~~~~~
        ),
      ),
    );
  }
}

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

関連記事

【Flutter】リワード広告をアプリ内に表示するやり方をわかりやすく解説【Admob】
Flutter開発 アプリ収益化 広告実装 モバイルアプリ開発 Flutter アプリ開発 リワード広告 AdMob 広告実装 Flutter広告 モバイルアプリ収益化 Flutterチュートリアル 初心者向け アプリ収益化
【flutter】数行でできる!Pyramid Chartを実装してみた!【syncfusion_flutter_chart】
Flutter開発 データ可視化 チャート実装 初心者向けチュートリアル Flutter アプリ開発 Pyramid Chart syncfusion_flutter_chart チャート実装 データ可視化 Flutterチュートリアル グラフ表示 モバイルアプリ開発 初心者向け
【flutter】Lottieアニメーションライブラリの使い方をわかりやすく解説
Flutter開発 UI/UXデザイン アニメーション実装 Flutter Lottie アプリ開発 アニメーション UIデザイン モバイル開発 初心者向け UX向上 JSONアニメーション