Buscar..


Observaciones

El mejor wiki completo está disponible aquí en github .

Tejido - Crashlytics

Fabric es una plataforma móvil modular que proporciona kits útiles que puede mezclar para construir su aplicación. Crashlytics es una herramienta de informe de fallas y problemas provista por Fabric que le permite hacer un seguimiento y monitorear sus aplicaciones en detalle.


Cómo configurar Fabric-Crashlytics

Paso 1: Cambia tu build.gradle :

Agrega el plugin repo y el plugin gradle:

 buildscript {
  repositories {
    maven { url 'https://maven.fabric.io/public' }
  }

  dependencies {
    // The Fabric Gradle plugin uses an open ended version to react
    // quickly to Android tooling updates
    classpath 'io.fabric.tools:gradle:1.+'
  }
}

Aplicar el plugin:

apply plugin: 'com.android.application'
//Put Fabric plugin after Android plugin
apply plugin: 'io.fabric'

Añadir el repositorio de tela:

repositories {
  maven { url 'https://maven.fabric.io/public' }
}

Agregue el kit Crashlyrics:

dependencies {
  
  compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
    transitive = true;
  }
}

Paso 2: agregue su clave de API y el permiso de INTERNET en AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
  <application
     ... >
      
      <meta-data
          android:name="io.fabric.ApiKey"
          android:value="25eeca3bb31cd41577e097cabd1ab9eee9da151d"
          />

  </application>
  
  <uses-permission android:name="android.permission.INTERNET" />
</manifest>

Paso 3: inicie el kit en tiempo de ejecución en su código, por ejemplo:

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      //Init the KIT
      Fabric.with(this, new Crashlytics());

      setContentView(R.layout.activity_main);
    }
}

Paso 4: Proyecto de construcción. Para construir y ejecutar:

introduzca la descripción de la imagen aquí


Usando el plugin IDE de tela

Los kits se pueden instalar utilizando el complemento Fabric IDE para Android Studio o IntelliJ siguiendo este enlace.

introduzca la descripción de la imagen aquí

Después de instalar el complemento, reinicie Android Studio e inicie sesión con su cuenta utilizando Android Studio .

(tecla corta> CTRL + L )

introduzca la descripción de la imagen aquí

Luego mostrará los proyectos que tiene / el proyecto que abrió, seleccione el que necesita y haga clic en siguiente ... a continuación.

Seleccione el kit que desea agregar, para su ejemplo es Crashlytics :

introduzca la descripción de la imagen aquí

Luego presione Install . No es necesario que lo agregue manualmente esta vez, como el complemento gradle anterior, en su lugar, se construirá para usted.

introduzca la descripción de la imagen aquí

¡Hecho!

Informe de Accidentes con ACRA

Paso 1: Agregue la dependencia del último ACRA AAR a su aplicación gradle (build.gradle).

Paso 2: en su clase de aplicación (la clase que extiende la aplicación; si no la crea) Agregue una anotación @ReportsCrashes y anule el método attachBaseContext() .

Paso 3: Inicialice la clase ACRA en su clase de aplicación

@ReportsCrashes(
    formUri = "Your choice of backend",
    reportType = REPORT_TYPES(JSON/FORM),
    httpMethod = HTTP_METHOD(POST/PUT),
    formUriBasicAuthLogin = "AUTH_USERNAME",
    formUriBasicAuthPassword = "AUTH_PASSWORD,
    customReportContent = {
            ReportField.USER_APP_START_DATE,
            ReportField.USER_CRASH_DATE,
            ReportField.APP_VERSION_CODE,
            ReportField.APP_VERSION_NAME,
            ReportField.ANDROID_VERSION,
            ReportField.DEVICE_ID,
            ReportField.BUILD,
            ReportField.BRAND,
            ReportField.DEVICE_FEATURES,
            ReportField.PACKAGE_NAME,
            ReportField.REPORT_ID,
            ReportField.STACK_TRACE,
    },
    mode = NOTIFICATION_TYPE(TOAST,DIALOG,NOTIFICATION)
    resToastText = R.string.crash_text_toast)

    public class MyApplication extends Application {
     @Override
            protected void attachBaseContext(Context base) {
                super.attachBaseContext(base);
                // Initialization of ACRA
                ACRA.init(this);
            }
    }

Donde AUTH_USERNAME y AUTH_PASSWORD son las credenciales de tus backends deseados.

Paso 4: definir la clase de aplicación en AndroidManifest.xml

 <application
        android:name=".MyApplication">
        <service></service>
        <activity></activity>
        <receiver></receiver>
 </application>

Paso 5: asegúrese de tener permiso de internet para recibir el informe de la aplicación bloqueada

<uses-permission android:name="android.permission.INTERNET"/>

En caso de que desee enviar el informe silencioso al backend, simplemente use el método a continuación para lograrlo.

ACRA.getErrorReporter().handleSilentException(e);

Forzar un choque de prueba con tela

Agregue un botón que puede tocar para desencadenar un bloqueo. Pegue este código en su diseño donde le gustaría que aparezca el botón.

<Button
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:text="Force Crash!"
    android:onClick="forceCrash"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />

Lanzar un RuntimeException

public void forceCrash(View view) {
    throw new RuntimeException("This is a crash");
}

Ejecute su aplicación y toque el nuevo botón para provocar un bloqueo. En un minuto o dos, debería poder ver el bloqueo en su panel de control de Crashlytics y recibir un correo.

Captura bloqueos utilizando Sherlock

Sherlock captura todos tus choques y los informa como una notificación. Cuando toca la notificación, se abre una actividad con todos los detalles del fallo junto con la información del dispositivo y la aplicación

¿Cómo integrar Sherlock con tu aplicación?

Solo necesita agregar Sherlock como una dependencia de Gradle en su proyecto.

dependencies {
    compile('com.github.ajitsing:sherlock:1.0.1@aar') {
        transitive = true
    }
}

Después de sincronizar tu estudio de Android, inicializa Sherlock en tu clase de Aplicación.

package com.singhajit.login;

import android.app.Application;

import com.singhajit.sherlock.core.Sherlock;

public class SampleApp extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    Sherlock.init(this);
  }
}

Eso es todo lo que necesitas hacer. También Sherlock hace mucho más que informar un accidente. Para ver todas sus características, eche un vistazo a este artículo .

Manifestación

introduzca la descripción de la imagen aquí



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow