花更少的时间找到和更多的时间修复崩溃。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记录用户信息之前,请再次检查您的崩溃是否发生。
下一步
从测试数据切换到真实的用户信息
使用自定义键和 自定义日志记录更多的信息与您的崩溃.