How to debug what's wrong if app crashes only in release mode

1,061

Solution 1

Use adb logcat

OR

Enable debugging in release build, by modifying your android/app/build.gradle like this

buildTypes {
    release {
        debuggable true
        shrinkResources false
        minifyEnabled false
        ...
    }
}

Solution 2

try this flutter run --release --no-shrink

Solution 3

You can Use Firebase Analytics to see error logs from your released devices from firebase. Previously it was named as Fabric.

Or you can create your own log tracker, write the logs in a file and upload the log to your server.

You can give options to user to capture log and send to server within "Advanced Settings" or something like that.

Solution 4

When the error is code related and not in flutter itself sentry should help.

Sentry's Flutter SDK enables automatic reporting of errors, messages, and exceptions.

You can import it just as any other package

dependencies:
  sentry_flutter: ^4.0.6

and configure it as early as possible in you app

import 'package:flutter/widgets.dart';
import 'package:sentry_flutter/sentry_flutter.dart';

Future<void> main() async {
  await SentryFlutter.init(
    (options) => options.dsn = 'put_your_public_key_here',
    appRunner: () => runApp(MyApp()),
  );
}

To get your public key you just have to sign up on sentry.io and create a flutter project, no need to search for your key your it should be in the example code, it wont let you pass that point without initialiting it so you can't miss it. The docs regarding flutter can be found here.

Share:
1,061
aleskva
Author by

aleskva

Updated on December 28, 2022

Comments

  • aleskva
    aleskva over 1 year

    I upgraded Flutter to 2.0.0 recently and am stuck with this issue. flutter run and flutter run --profile work perfectly well, but flutter run --release makes app crash after startup. There is no stacktrace, there is no error or warning, there is no build issue or verbose warning, no hint really. I googled a lot, but similar questions were answered like "try to remove this line" or "try to add that line". I couldn't find any clear steps on how to debug what's wrong.

    What steps should I take to debug this issue and find the root cause instead of trying meaningless changes on code hoping some of them will eventually fix the issue?

  • Oliver Dixon
    Oliver Dixon over 2 years
    Could not find an option named "no-shrink".
  • Ahmed Raza
    Ahmed Raza over 2 years
    try this in terminal