How can I fix this CrashlyticsMissingDependencyException?

I have been using the latest version of Crashlytics (cloth integration) for a while. But recently, I encountered the following crash error due to lack of dependency, although I did not change anything in Crashlytics configurations.

any idea?

02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | | 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | | 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | | 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . \ | | / 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . \ / 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . \ / 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . \/ 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ 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 organization. 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . /\ 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . / \ 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . / \ 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . / | | \ 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | | 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | | 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | | 02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . 02-08 22:18:00.935 18887-18887/? E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.example.android.staging, PID: 18887 java.lang.RuntimeException: Unable to create application com.example.android.App: io.fabric.sdk.android.services.concurrency.UnmetDependencyException: com.crashlytics.android.CrashlyticsMissingDependencyException: 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 organization. at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4734) at android.app.ActivityThread.access$1600(ActivityThread.java:171) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1357) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5506) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) at dalvik.system.NativeStart.main(Native Method) 
+99
android crashlytics twitter-fabric fabric-twitter
Feb 08 '15 at 15:09
source share
17 answers

The only workaround at the moment is, if you really need to publish your application (like me), then change the dynamic version numbers to static:

 [...] classpath 'io.fabric.tools:gradle:1.14.4' [...] compile('com.crashlytics.sdk.android:crashlytics:2.2.0@aar') { transitive = true } [...] 

EDIT:

an updated version of the sdk factory was published, you can get it by changing the line to this:

 classpath 'io.fabric.tools:gradle:1.26.1' 
+21
Feb 09 '15 at 17:47
source share

I added the following codes before I installed Fabric / Crashlytics:

 debug { ext.enableCrashlytics = false } 

Removing it before the first launch with Crashlytics solved the problem. The problem does not occur after the first start.

+95
Feb 18 '15 at 7:33
source share

I commented on this in gradle

 apply plugin: 'io.fabric' 

need to uncomment it

Or, if you don’t have one, add it!

+26
Apr 08 '16 at 16:44
source share

It looks like specifying the plugin version as:

 classpath 'io.fabric.tools:gradle:1.+' 

raises 1.15.1, which has a problem.

The definition of primary and secondary for the previous 1.14 seems stable:

 classpath 'io.fabric.tools:gradle:1.14.+' 
+13
Feb 09 '15 at 18:18
source share

I had the same problem after updating the plugin. to eliminate the need to remove from AndroidManifest.xml:

 <meta-data android:name="com.crashlytics.ApiKey" android:value="API_SECRET_KEY" /> 

and add to fabric.properties:

 apiSecret=API_SECRET_KEY apiKey=YOUR_SECRET_KEY 

UPDATE:

Now you should use:

  <meta-data android:name="io.fabric.ApiKey" android:value="API_KEY" /> 
+13
Jul 09 '15 at 4:53 on
source share

If you use shutdown function during debugging as shown

  Crashlytics crashlyticsKit = new Crashlytics.Builder() .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()) .build(); Fabric.with(this, crashlyticsKit); 

What happens when you upgrade the crashlytics version is that

 Fabric.with(this, crashlyticsKit); 

pivots on

 Fabric.with(this,new Crashlytics()); 

So be sure to change this to crashlyticskit. If you do it right and the error still appears, make sure that you have

 debug { ext.enableCrashlytics = false } 

for android {buildtypes {}}

+12
Jul 07 '16 at 8:43
source share

Mike from Crashlytics is here. We sent an updated version - 1.15.2 - earlier today, which includes a fix for this behavior. If you run:

 ./gradlew assemble --refresh-dependencies 

who will choose the latest version. You can also see more information about this hotfix.

+11
Feb 10 '15 at 19:43
source share

For me it was due to dataBinding = true . Updating the gradle plugin to version 1.21.0 fixes the problem: https://twittercommunity.com/t/fabric-gradle-plugin-1-21-0-add-support-for-android-databinding-true/57474

+4
Dec 04 '15 at 17:09
source share

Fix for me from official source

Disable Crashlytics to debug assembly

If you don't need Crashlytics crash reports or beta distributions for debug builds, you can safely speed up your debug builds by completely disabling the plugin with these two steps:

First add this to your build.gradle applications:

 android { buildTypes { debug { // Disable fabric build ID generation for debug builds ext.enableCrashlytics = false ... 

Then disable the Crashlytics bundle at runtime. Otherwise, the Crashlytics set throws the following error:

 com.crashlytics.android.core.CrashlyticsMissingDependencyException: This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up` 

You can disable runtime dialing for debug collections only with the following code:

 // Set up Crashlytics, disabled for debug builds Crashlytics crashlyticsKit = new Crashlytics.Builder() .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()) .build(); // Initialize Fabric with the debug-disabled crashlytics. Fabric.with(this, crashlyticsKit); 
+4
Jan 24 '17 at 18:01
source share

The problem also occurs if you accidentally turn on Crashlytics BuildConfig - it is very easy to do with auto-import Android Studio / IntelliJ.

I have imported

import com.crashlytics.android.core.BuildConfig;

Instead of my own

import <package_name>.BuildConfig;

+4
Jun 05 '17 at 9:22
source share

In my case, I used material in the CommonLib module, which was added as a dependency in all other modules (including the application). So, I added apply plugin: 'io.fabric' after buildscript {} block. So, I put two plugins together:

 apply plugin: 'com.android.library' apply plugin: 'io.fabric' 

And the problem is solved!

+3
Jun 23 '17 at 6:01
source share

Check if crashlytics is disabled in build.gradle

  debug { ext.enableCrashlytics = false } 

Use instead

  debug { ext.enableCrashlytics = true } 
+1
Apr 26 '17 at 10:09 on
source share

If this helps someone else, I had a similar problem updating Crashlytics to Fabric. In my case, the plugin left 2 lines from Crashlytics, which I had to remove manually before it worked.

In the gradle file, in the buildscript dependencies, I had to manually delete:

 classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.16.0' 

Also, in the dependencies, I had to manually remove:

 compile 'com.crashlytics.android:crashlytics:1.1.13' 
0
Jun 29 '15 at 17:48
source share

Maybe I was late to answer. But this can happen due to one more reason, besides all of the above answers.

If you miss add

 apply plugin:'io.fabric' 

This may seem strange, but it will lead to the same problem.

This is added by default by the fabric when we sign up and add code from the Fabric window. Using the IDE, but you can accidentally delete it.

0
May 11 '17 at 4:35 a.m.
source share

Be sure to add apply plugin: 'io.fabric' to your build.gradle application build.gradle . In my case, I had a common build.gradle with apply plugin: 'io.fabric' . Transferring it to an application project solved the problem.

0
Jun 11 '17 at 10:33
source share

Removing application icon fixed by Crashylitics, what?

Everything was done for me on the basis of the manual, using the latest versions, etc.

Just spent an hour trying to figure it out. It turns out that someone thought it would be nice to read the package name of the application icon instead of context.packageName to get the application resources in a context-sensitive manner. This is done in this method:

io.fabric.sdk.android.services.common.CommonUtils#getResourcePackageName

This obviously explodes if you use an icon that is not inside the APK, for example: android:icon="@android:drawable/sym_def_app_icon" . It was a good idea at that time, I wonder what strange mistake they were trying to get around ?!

0
Nov 02 '18 at 15:16
source share
 <meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" /> 

Add this to AndroidManifest.xml .

-one
Dec 26 '18 at 11:51
source share



All Articles