我们在开发过程中,经常会遇到程序闪退,但是Eclipse的Consle和Logcat又没有错误提示,或者是只有用的时间长了才会出现的偶然崩溃,这种就很难修复bug,也严重影响用户体验,用户分分钟卸载。腾讯的Bugly可以在app出现崩溃的时候上传错误信息,定位错误原因和语句,并且可以查看影响的用户数和程序Crash次数等等信息
下面说一哈Eclipse+Android时Bugly的配置和使用
一,下载SDK
下载Bugly库文件
首先去腾讯的Bugly网站http://bugly.qq.com/whitebook下载Bugly库文件
1.下载Bugly的Android SDK包;
2.如果您的工程有Native代码(C/C++)或者集成了其他第三方SO库,建议下载Bugly的NDK动态库。
Bugly NDK包含多个架构的SO库:
armeabi
armeabiv7a
arm64v8a
x86
x86_64
在集成Bugly SO库时,请注意只保留支持的架构SO库。
Eclipse 工程
1.将Bugly库文件复制到工程的libs目录下,SDK包和NDK都要复制到libs下;
2.Refresh一下工程;
3.添加工程依赖:鼠标右键点击Bugly的JAR文件,添加到编译路径中
二,配置参数
在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" />
三,注册产品http://bugly.qq.com/apps
在自己qq账户里边点击“我的App”
重要的是等到这个产品的“AppID”,这个ID需要写入到Manifest.xml的Application中的
四,最简单的初始化Application
获取APP ID并将以下代码复制到项目Application类onCreate()中,Bugly会为自动检测环境并完成配置:
CrashReport.initCrashReport(getApplicationContext(), "注册时申请的APPID", false);
第三个参数在测试阶段最好设置为true
这里需要自定义一个Application
package com.hust.map;
import com.tencent.bugly.crashreport.CrashReport;
import android.app.Application;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
CrashReport.initCrashReport(getApplicationContext(), "900033118", true);
}
}
五,测试
现在您可以制造一个Crash,来体验Bugly的能力了。在初始化Bugly的之后,调用Bugly测Java Crash接口。
在代码的任何位置添加如下语句就可以自己人工制造一个Crash:
CrashReport.testJavaCrash();
程序运行到这一句就Crash了,这是去看刚刚的Bugly网站就会有信息
然后去掉CrashReport.testJavaCrash();这个代码,运行带有Crash问题的程序,只要app发生崩溃,就会上传Crash信息,在我的Bugly网站上就会有错误信息