Trzepot szarego ekranu Androida w trybie wydania, nawet jeśli nie ma błędów ani czerwonych ekranów w trybie debugowania

Nov 22 2020

Po uruchomieniu ekranu powitalnego na prawdziwym urządzeniu z Androidem pojawia się szary ekran. Rozwiązałem wszystkie błędy lub czerwone ekrany, a potem spróbowałem ponownie, ale nadal pozostaje to samo.

Uwaga: wydałem 2 wersje tej aplikacji przed tą do sklepu Play. Więc to nie jest pierwsza.

Mój dziennik

Flutter run key commands.
h Repeat this help message.
c Clear the screen
q Quit (terminate the application on the device).
I/flutter (24661):                              <-- stops here nothing after this

Odpowiedzi

JohnJoe Nov 23 2020 at 05:57

Czasami działa dobrze w trybie debugowania, ale nie działa w trybie wydania. Możesz złapać ten błąd, uruchamiając poniższe polecenie w swoim terminalu.

 flutter run --release 

Polecenie kompiluje się do trybu zwolnienia. Gdy pojawi się szary ekran, możesz sprawdzić konsolę debugowania.

Jagadish Nov 26 2020 at 07:14

Nic nie działało, ponieważ nie było błędu w interfejsie użytkownika. Błąd występował na początku aplikacji w pliku głównym. Po dodaniu awaitwcześniej Firebase.initializeApp();działał jak cud.

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setSystemUIOverlayStyle(
      SystemUiOverlayStyle(statusBarColor: Colors.transparent));
  **await** Firebase.initializeApp(); //adding await solved the problem
  SharedPreferences.getInstance().then((prefs) {
    var brightness = SchedulerBinding.instance.window.platformBrightness;
    if (brightness == Brightness.dark) {
      prefs.setBool('darkMode', true);
    } else {}
    var darkModeOn = prefs.getBool('darkMode') ?? false;
    runApp(
      ChangeNotifierProvider<ThemeNotifier>(
        create: (_) => ThemeNotifier(darkModeOn ? darkTheme : lightTheme),
        child: MaterialApp(
          home: root(),
        ),
      ),
    );
  });
}