He estado usando la última Crashlytics (integración de Fabric) durante un tiempo. Pero recientemente encontré el siguiente error de bloqueo debido a la falta de dependencia, aunque no cambié nada sobre las configuraciones de Crashlytics.
¿alguna 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's 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's 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)
android
crashlytics
twitter-fabric
xialina
fuente
fuente
Respuestas:
La única solución alternativa por ahora, si realmente necesita publicar su aplicación (como yo), es cambiar los números de versión dinámica a estática:
EDITAR:
se ha publicado una versión actualizada del Fabric SDK; puede obtenerlo cambiando la línea a esto:
fuente
https://maven.fabric.io/repo
https://maven.fabric.io/public
He agregado los siguientes códigos antes de instalar Fabric / Crashlytics:
Eliminarlo antes de la primera ejecución con Crashlytics resolvió el problema. El problema ya no ocurre después de la primera ejecución.
fuente
com.crashlytics.sdk.android:crashlytics:2.6.8@aar
Tenía esto comentado en gradle
necesitaba descomentarlo
O si no lo tienes, ¡agrégalo!
fuente
Parece especificar la versión del complemento como:
recoge 1.15.1, que tiene el problema.
La especificación de mayor y menor a anterior
1.14
parece ser estable:fuente
Tuve el mismo problema después de actualizar el complemento. para resolver es necesario eliminar de AndroidManifest.xml:
y agregar a fabric.properties:
ACTUALIZAR:
Ahora tienes que usar:
fuente
<meta-data android:name="io.fabric.ApiKey" android:value="YOUR_API_KEY"/>
archivo AM. El nombre se cambió de "com.crashlytics.ApiKey" a "io.fabric.ApiKey".Si está utilizando la función de desactivación durante la depuración como se muestra
Lo que sucede cuando actualiza la versión de crashlytics es que
se convierte en
Así que asegúrese de volver a cambiarlo a crashlyticskit. Si está haciendo esto correctamente y el error aún aparece, asegúrese de haber
en android {buildtypes {}}
fuente
Mike de Crashlytics aquí. Hoy enviamos una versión actualizada, 1.15.2, que incluye una solución para este comportamiento. Si tu corres:
que traerá la última versión. También puede ver más detalles sobre la solución aquí.
fuente
Arreglar para mí De fuente oficial
Deshabilitar Crashlytics para compilaciones de depuración
Si no necesita los informes de fallas de Crashlytics o la distribución beta para las compilaciones de depuración, puede acelerar de manera segura sus compilaciones de depuración desactivando el complemento por completo con estos dos pasos:
Primero, agregue esto al build.gradle de su aplicación:
A continuación, desactive el kit de Crashlytics en tiempo de ejecución. De lo contrario, el kit de Crashlytics arrojará el siguiente error:
Puede deshabilitar el kit en tiempo de ejecución para compilaciones de depuración solo con el siguiente código:
fuente
El problema también ocurre si incluye accidentalmente Crashlytics BuildConfig, muy fácil de hacer con las importaciones automáticas de Android Studio / IntelliJ.
Yo había importado
import com.crashlytics.android.core.BuildConfig;
En lugar del mío
import <package_name>.BuildConfig;
fuente
Para mí fue por
dataBinding = true
. La actualización del complemento fabric gradle a 1.21.0 solucionó el problema: https://twittercommunity.com/t/fabric-gradle-plugin-1-21-0-add-support-for-android-databinding-true/57474fuente
En mi caso, estaba usando fabric en un módulo "CommonLib" que se agregó como una dependencia en todos los demás módulos (incluida la aplicación). Entonces, había agregado
apply plugin: 'io.fabric'
después debuildscript {}
bloque. Entonces, coloqué dos complementos juntos:¡Y el problema se resolvió!
fuente
Asegúrese de agregarlo
apply plugin: 'io.fabric'
a su proyecto de aplicaciónbuild.gradle
. En mi caso, tenía algo en comúnbuild.gradle
conapply plugin: 'io.fabric'
. Moverlo al proyecto de aplicación resolvió el problema.fuente
En caso de que esto ayude a otra persona, tuve un problema similar al actualizar Crashlytics a Fabric. En mi caso, el complemento dejó 2 líneas de Crashlytics que necesitaba eliminar manualmente antes de que funcionara.
En el archivo gradle, en las dependencias de buildscript, tuve que eliminar manualmente:
Además, en dependencias, tuve que eliminar manualmente:
fuente
Compruebe si crashlytics está deshabilitado en el archivo build.gradle
En su lugar use
fuente
Puede que llegue tarde para responder. Pero esto puede suceder por una razón más aparte de todas las respuestas anteriores.
Si se olvida de agregar
Esto puede parecer extraño pero resultará en el mismo problema
Esto es agregado por defecto por fabric cuando nos registramos y agregamos código desde la ventana de Fabric usando IDE, pero accidentalmente se puede eliminar.
fuente
La eliminación del icono de la aplicación solucionó Crashylitics, ¿qué?
Hice todo basado en el tutorial de incorporación, usando las últimas versiones, etc.
Perdí una hora tratando de resolver esto. Resulta que alguien pensó que era una buena idea leer el nombre del paquete del icono de la aplicación en lugar de
context.packageName
obtener los recursos de la aplicación en un contexto. Se hace con este método:io.fabric.sdk.android.services.common.CommonUtils#getResourcePackageName
Obviamente, esto hace saltar si quieres pasar a utilizar un icono que no está dentro de la APK, por ejemplo:
android:icon="@android:drawable/sym_def_app_icon"
. Probablemente fue una buena idea en ese momento, ¡me pregunto qué error extraño estaban tratando de solucionar!fuente
Agregue eso a en
AndroidManifest.xml
.fuente