I notice that the app works fine in debug mode but when I try the apk on my phone the app shows a grey screen after the loading screen. when i used https and i adding all pe
This issue has been existed for a period of time, here is the related issue.
I've come across this issue, but this depends on the code. For me, with CacheNetworkImage issue#404, I passed wrong imageUrl
or null, that caused the grey screen. UI was working without grey screen even If I didn't handle properly until upgrading to 1.17.1 (previous flutter 1.12.13+hotfix.8), everything need to be more careful now.
first, you check AndroidManifest.xml (AndroidManifest.xml file for debug mode is different from AndroidManifest.xml file for release mode. check directory:
android\app\src\debug\AndroidManifest.xml
and directory:
android\app\src\main\AndroidManifest.xml
even you can create for release:
android\app\src\release\AndroidManifest.xml
try with add
<uses-permission android:name="android.permission.INTERNET" />
to your target AndroidManifest.xml).
red screen in debug mode it's like grey screen in release mod that means you have an error code but for debug mode maybe this error be like warning and could run and you don't see any problem in your app in debug mode! but for release mode, you should fix it! like the case for me: I'm trying put Position Widget in Container Widget and I get this error :
Another exception was thrown: Instance of ‘DiagnosticsProperty’
Incorrect use of ParentDataWidget.
i fix it by change Container to Stack.
I had a similar issue. After flutter upgrade
, it works fine also in release mode.
These are my current versions:
When you run your app in debug mode and when something goes wrong, you see the scary red error screen with logs. In release mode, you just see a grey screen.
Now, when you ran your app in debug mode, at times there are some errors which are thrown but we mistakenly ignore them as we see the app is running perfectly on screen but if you open your logs in debug mode, you will see some error messages.
For me it was something like this:
════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following assertion was thrown while applying parent data.:
Incorrect use of ParentDataWidget.
The ParentDataWidget Expanded(flex: 1) wants to apply ParentData of type FlexParentData to a RenderObject, which has been set up to accept ParentData of incompatible type StackParentData.
Usually, this means that the Expanded widget has the wrong ancestor RenderObjectWidget. Typically, Expanded widgets are placed directly inside Flex widgets.
The offending Expanded is currently placed inside a Stack widget.
My app runs perfectly in debug mode while Flutter still throws this error in the background.
Now when I run the app in release mode, I see a grey screen which is different from my perfectly running app in debug mode.
When I checked the logs, I see the error message:
Flutter app show grey screen in release mode but works fine in debug mode Instance of 'DiagnosticsProperty<void>'
So the solution?
Run you app in debug mode and check logs, I am sure you will find the problem there. Changing fluter channels won't help as long as there are errors in your code.