Crashlytics(最强大,最轻的重量崩溃报告解决工具)

花更少的时间找到和更多的时间修复崩溃。Crashlytics在iOS和Android上都是#1性能SDK,它提供了深刻可行的洞察力,甚至是应用程序崩溃的确切代码行。

虽然Crashlytics为您提供了强大的崩溃报告功能,但通过一次点击,您可以启用实时分析,帮助您了解应用程序中发生的情况。Fabric的分析引擎可以深入了解您的核心目标,例如增长,保留和参与。最后,分析你不需要分析。

官方参考地址:
1.https://fabric.io/kits/android/crashlytics/summary
2.https://docs.fabric.io/android/crashlytics/overview.html

首先

就是先要有个Fabric账户,并添加要监控的应用程序,获取相关的秘钥等等具体请参考官网说明:https://docs.fabric.io/android/fabric/settings/index.html

通过Gradle安装Crashlytics

以下将引导您通过Gradle进行Crashlytics安装过程。

将套件添加到您的build.gradle
build.gradle

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

  dependencies {
    // These docs use an open ended version so that our plugin
    // can be updated quickly in response to Android tooling updates

    // We recommend changing it to the latest version from our changelog:
    // https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
    classpath 'io.fabric.tools:gradle:1.+'
  }
}

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

repositories {
  maven { url 'https://maven.fabric.io/public' }
}
dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  testCompile 'junit:junit:4.12'
  compile 'com.android.support:appcompat-v7:23.1.1'
  compile 'com.android.support:design:23.1.1'
  compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
    transitive = true;
  }

添加您的API密钥

AndroidManifest.xml 2添加ION360 U

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
  <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      <activity android:name=".MainActivity" android:label="@string/app_name" >
        <intent-filter>
          <action android:name="android.intent.action.MAIN" />
          <category android:name="android.intent.category.LAUNCHER" />
        intent-filter>
      activity>
      <meta-data
          android:name="io.fabric.ApiKey"
          android:value="f492d362aec45d097c375448e880cc13804ff006"
      />
  application>
  <uses-permission android:name="android.permission.INTERNET" />
manifest>

初始化您的套件

MainActivity.java 2添加

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;

public class MainActivity extends ActionBarActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      Fabric.with(this, new Crashlytics());
      setContentView(R.layout.activity_main);
    }
}

构建和运行。

强制崩溃

抛出一个未捕获的异常,并在仪表板中看到它。

第1步,共3步

添加“强制崩溃”按钮

添加一个按钮,您可以点击以触发崩溃。将此代码粘贴到您希望按钮出现的布局中。
activity_main.xml中

"http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    

第2步,共3步

抛出一个RuntimeException

Crashlytics将在您的应用程序中记录任何未捕获的异常。RuntimeException从你的新按钮onClick处理程序中抛出一个测试。

MainActivity.java

import io.fabric.sdk.android.Fabric;
import com.crashlytics.android.Crashlytics;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Fabric.with(this, new Crashlytics());
        setContentView(R.layout.activity_main);
    }

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

}

第3步,共3步

试试看!

运行您的应用程序,然后点按新的按钮导致崩溃。在一两分钟内,您应该可以看到Crashlytics仪表板上的崩溃。

没有看到崩溃?
1确保该Fabric.with()行是在所有其他第三方SDK之后设置的UncaughtExceptionHandler
2.在应用程序崩溃后重新启动,以重新启动上载崩溃
下一步
您可以从崩溃时刻的Crashlytics记录用户和记录数据,以帮助您进行调试。请阅读我们的Android SDK文档以获取更多信息。

发货之前不要忘记将您的应用程式强制崩溃!

用户信息 用崩溃记录用户信息。

第1步,共2步

添加用户标识符
如果您在应用程序运行时使用Crashlytics SDK记录用户标识符,我们将在您的信息中心的崩溃报告中显示,以帮助您进行调试。

MainActivity.java

import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Fabric.with(this, new Crashlytics());

        // TODO: Move this to where you establish a user session
        logUser();

        setContentView(R.layout.activity_main);
    }
    private void logUser() {
        // TODO: Use the current user's information
        // You can call any combination of these three methods
        Crashlytics.setUserIdentifier("12345");
        Crashlytics.setUserEmail("[email protected]");
        Crashlytics.setUserName("Test User");
    }
}

第2步,共2步

试试看!

现在当您的应用程序崩溃时,您将看到您提供的用户信息与堆栈跟踪和其他设备信息。
您可以按照“ 强制崩溃”教程来导致崩溃测试。

没有看到用户信息?

请确保在问题页面上单击(更多详细信息…)链接以查看特定的崩溃报告。在使用Crashlytics
SDK记录用户信息之前,请再次检查您的崩溃是否发生。

下一步
从测试数据切换到真实的用户信息
使用自定义键和 自定义日志记录更多的信息与您的崩溃.

你可能感兴趣的:(Android,Java)