question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

It is asking for Fabric in Firebase Crashlytics.

See original GitHub issue

I get exception when setup this plugin:

This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
install an Android build tool and ask a team member to invite you to this app's organization.

I am using only Firebase Crashlytics and not Fabric. Am I supposed to use both, I guess not.

Steps I followed.

  • Create android app on firebase
  • Save google-services.json file in app folder.
  • Install plugin
  • Change main() to below snippet
void main() async {
  bool isInDebugMode = false;

  FlutterError.onError = (FlutterErrorDetails details) {
    if (isInDebugMode) {
      // In development mode simply print to console.
      FlutterError.dumpErrorToConsole(details);
    } else {
      // In production mode report to the application zone to report to
      // Crashlytics.
      Zone.current.handleUncaughtError(details.exception, details.stack);
    }
  };

  await FlutterCrashlytics().initialize();

  runZoned<Future<Null>>(() async {
    runApp(MyApp());
  }, onError: (error, stackTrace) async {
    // Whenever an error occurs, call the `reportCrash` function. This will send
    // Dart errors to our dev console or Crashlytics depending on the environment.
    await FlutterCrashlytics()
        .reportCrash(error, stackTrace, forceCrash: false);
  });
}

Logs:

Launching lib/main.dart on Lenovo K33a42 in debug mode...
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Built build/app/outputs/apk/debug/app-debug.apk.
I/OpenGLRenderer(30155): Initialized EGL, version 1.4
D/OpenGLRenderer(30155): Swap behavior 1
I/Choreographer(30155): Skipped 34 frames!  The application may be doing too much work on its main thread.
E/CrashlyticsCore(30155): .
E/CrashlyticsCore(30155): .     |  |
E/CrashlyticsCore(30155): .     |  |
E/CrashlyticsCore(30155): .     |  |
E/CrashlyticsCore(30155): .   \ |  | /
E/CrashlyticsCore(30155): .    \    /
E/CrashlyticsCore(30155): .     \  /
E/CrashlyticsCore(30155): .      \/
E/CrashlyticsCore(30155): .
E/CrashlyticsCore(30155): This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
E/CrashlyticsCore(30155): install an Android build tool and ask a team member to invite you to this app's organization.
E/CrashlyticsCore(30155): .
E/CrashlyticsCore(30155): .      /\
E/CrashlyticsCore(30155): .     /  \
E/CrashlyticsCore(30155): .    /    \
E/CrashlyticsCore(30155): .   / |  | \
E/CrashlyticsCore(30155): .     |  |
E/CrashlyticsCore(30155): .     |  |
E/CrashlyticsCore(30155): .     |  |
E/CrashlyticsCore(30155): .
E/MethodChannel#flutter_crashlytics(30155): Failed to handle method call
E/MethodChannel#flutter_crashlytics(30155): io.fabric.sdk.android.services.concurrency.UnmetDependencyException: This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
E/MethodChannel#flutter_crashlytics(30155): install an Android build tool and ask a team member to invite you to this app's organization.
E/MethodChannel#flutter_crashlytics(30155): 	at com.crashlytics.android.core.CrashlyticsCore.onPreExecute(CrashlyticsCore.java:241)
E/MethodChannel#flutter_crashlytics(30155): 	at com.crashlytics.android.core.CrashlyticsCore.onPreExecute(CrashlyticsCore.java:209)
E/MethodChannel#flutter_crashlytics(30155): 	at io.fabric.sdk.android.InitializationTask.onPreExecute(InitializationTask.java:44)
E/MethodChannel#flutter_crashlytics(30155): 	at io.fabric.sdk.android.services.concurrency.AsyncTask.executeOnExecutor(AsyncTask.java:611)
E/MethodChannel#flutter_crashlytics(30155): 	at io.fabric.sdk.android.services.concurrency.PriorityAsyncTask.executeOnExecutor(PriorityAsyncTask.java:43)
E/MethodChannel#flutter_crashlytics(30155): 	at io.fabric.sdk.android.Kit.initialize(Kit.java:69)
E/MethodChannel#flutter_crashlytics(30155): 	at io.fabric.sdk.android.Fabric.initializeKits(Fabric.java:466)
E/MethodChannel#flutter_crashlytics(30155): 	at io.fabric.sdk.android.Fabric.init(Fabric.java:410)
E/MethodChannel#flutter_crashlytics(30155): 	at io.fabric.sdk.android.Fabric.setFabric(Fabric.java:368)
E/MethodChannel#flutter_crashlytics(30155): 	at io.fabric.sdk.android.Fabric.with(Fabric.java:339)
E/MethodChannel#flutter_crashlytics(30155): 	at com.kiwi.fluttercrashlytics.FlutterCrashlyticsPlugin.onMethodCall(FlutterCrashlyticsPlugin.kt:27)
E/MethodChannel#flutter_crashlytics(30155): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:200)
E/MethodChannel#flutter_crashlytics(30155): 	at io.flutter.view.FlutterNativeView.handlePlatformMessage(FlutterNativeView.java:163)
E/MethodChannel#flutter_crashlytics(30155): 	at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#flutter_crashlytics(30155): 	at android.os.MessageQueue.next(MessageQueue.java:323)
E/MethodChannel#flutter_crashlytics(30155): 	at android.os.Looper.loop(Looper.java:136)
E/MethodChannel#flutter_crashlytics(30155): 	at android.app.ActivityThread.main(ActivityThread.java:6077)
E/MethodChannel#flutter_crashlytics(30155): 	at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter_crashlytics(30155): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
E/MethodChannel#flutter_crashlytics(30155): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
D/NetworkSecurityConfig(30155): No Network Security Config specified, using platform default
I/DpmTcmClient(30155): RegisterTcmMonitor from: com.android.okhttp.TcmIdleTimerMonitor
W/Fabric  (30155): Could not call getId on com.google.android.gms.ads.identifier.AdvertisingIdClient$Info
W/Fabric  (30155): Could not call isLimitAdTrackingEnabled on com.google.android.gms.ads.identifier.AdvertisingIdClient$Info

Flutter Doctor:

[✓] Flutter (Channel beta, v1.0.0, on Linux, locale en_US.UTF-8)
    • Flutter version 1.0.0 at /home/arnold/installed/flutter
    • Framework revision 5391447fae (8 weeks ago), 2018-11-29 19:41:26 -0800
    • Engine revision 7375a0f414
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[!] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at /home/arnold/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /home/arnold/installed/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
    ✗ Android license status unknown.

[✓] Android Studio (version 3.0)
    • Android Studio at /home/arnold/installed/android-studio
    • Flutter plugin version 23.2.1
    • Dart plugin version 171.4424
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[✓] Connected device (1 available)
    • Lenovo K33a42 • 192.168.0.6:5555 • android-arm • Android 7.0 (API 24)

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:4
  • Comments:12 (1 by maintainers)

github_iconTop GitHub Comments

2reactions
saladthievescommented, Feb 26, 2019

@dhargitai thanks for the awesome fix! @diemer I’m considering sending a pull request with updated instructions and clearer implementation guidelines / goals to make future people’s lives easier.

0reactions
jaumardcommented, Mar 28, 2019

I’m closing this as it’s a configuration issue and fixes has been provided, thanks guys

Read more comments on GitHub >

github_iconTop Results From Across the Web

android - Switch from Fabric to Firebase Crashlytics problem
It sounds like you're using Fabric dependencies in your Firebase app. This error occurs when your Crashlytics Gradle plugin isn't correctly configured.
Read more >
Customize your Firebase Crashlytics crash reports - Google
This guide describes how to customize your crash reports using the Firebase Crashlytics SDK. By default, Crashlytics automatically collects crash reports ...
Read more >
Firebase Crashlytics and Fabric on iOS | by Prenez - Medium
It's in a Dictionary called Fabric. Then Fabric asks you to cut and paste code it shows you as a run script to...
Read more >
Fabric / Crashlytics GDPR - Google Groups
When a crash occurs in any version of [our app name], this will ask your users if that crash should be reported. But,...
Read more >
Firebase Crashlytics Setup and Configuration - Javatpoint
When we click on Set up Crashlytics, it will ask that "are you a Fabric user migrating a Crashlytics app?" We will select...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found