com.tencent.bugly:crashreport

bugly


Licenses
GL2PS/SSPL-1.0

Documentation

##Bugly(Android) SDK 快速接入向导


###一、库文件导入

如果您使用Gradle编译Apk,我们强烈推荐您使用自动接入方式配置库文件(JCenter仓库)。

####方式1. 自动导入(推荐)

在Module的buid.gradle文件中添加依赖和属性配置:

android {
	defaultConfig {
		ndk {
			// 设置支持的SO库架构
			abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
		}
	}
}

dependencies {
	compile 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.2.8
}

Alt text

后续更新Bugly SDK时,只需变更配置脚本中的版本号即可。

注意:自动集成时会自动包含Bugly SO库,建议在Module的build.gradle文件中使用NDK的“abiFilter”配置,设置支持的SO库架构。

如果在添加**“abiFilter”**之后Android Studio出现以下提示: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin.

则在项目根目录的gradle.properties文件中添加:

android.useDeprecatedNdk=true

####方式2. 手动导入

如果您不采用上述自动导入方式,也可以手动集成Bugly SDK。

下载Bugly库文件

  • 下载Bugly的Android SDK包
  • 如果您的工程有Native代码(C/C++)或者集成了其他第三方SO库,建议下载Bugly的NDK动态库

Bugly NDK包含多个架构的SO库:

  • armeabi
  • armeabi-v7a
  • arm64-v8a
  • x86
  • x86_64

在集成Bugly SO库时,请注意只保留支持的架构SO库。

Eclipse工程

  • 将Bugly库文件复制到工程的libs目录下;
  • Refresh一下工程;
  • 添加工程依赖:鼠标右键点击Bugly的JAR文件,添加到编译路径中。 Alt text

Android Studio工程

  • 将Bugly库文件复制到工程的libs目录下;
  • 如果集成Bugly NDK,则在Module的buid.gradle文件中添加SO库目录配置:
android {
	sourceSets {
        main.jniLibs.srcDirs = ['libs']
    }
}
  • 点击Sync,同步配置。

Alt text

为了使APP Crash堆栈的可读性更高,建议您配置符号表文件,更准确地定位问题:

  • 纯Java代码的工程:只需要配置混淆后生成的Mapping文件即可;
  • 含有Native代码的工程:建议配置符号表工具从Debug SO中提取的Symbol符号表文件。

Bugly支持手动和自动配置两种方式,具体的配置方法请参考:《Bugly Android符号表配置》


###二、参数配置

  • 在AndroidManifest.xml中添加权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" />
  • 请避免混淆Bugly,在Proguard混淆文件中增加一行配置:
-keep public class com.tencent.bugly.**{*;}

###三、最简单的初始化

获取APP ID并将以下代码复制到项目Application类onCreate()中,Bugly会为自动检测环境并完成配置:

CrashReport.initCrashReport(getApplicationContext(), "注册时申请的APPID", false);

Alt text


###四、测试

现在您可以制造一个Crash,来体验Bugly的能力了。在初始化Bugly的之后,调用Bugly测Java Crash接口。

CrashReport.testJavaCrash();

执行到这段代码时会发生一个Crash,Logcat的TAG=CrashReportInfo中输出为:

Alt text

现在您已经可以在**“崩溃”**页面看到刚才触发的Crash issue了(延迟一般在10s以内)。