Eclipse 集成
注意:
- 如需更新,重新下载 SDK 进行集成;
- 请勿与其他带有崩溃分析的 SDK 同时使用,否则将有可能影响崩溃捕捉功能的正常使用,具体参考这里。
- 关于
小米手机悬浮小球
等问题,请查看:Android 常见问题 - React-Native 集成,请参考:Bugtags-React-Native
- SDK 初始化会获取设备 MAC 地址的 Hash 值做为设备唯一标识,如应用对隐私敏感,请在用户同意
隐私政策
后初始化 SDK。
第一步:添加权限和服务
import Bugtags-Android-Eclipse-Lib 到项目的工作空间
将其添加为您的工程的库依赖。
添加依赖这一步非常重要!
方法为:> 项目->右键->property->Android->Library 中添加"Bugtags-Android-Eclipse-Lib"项目作为依赖,要十分注意
support-v4
包重复的问题!如下图:
Bugtags 包含多个架构的 SO 库:
armeabi armeabiv7a arm64v8a x86 x86_64 mips mips64
在集成 Bugtags 库时,请注意只保留支持的架构 SO 库。一般而言,取你所有的库支持的构架的交集
。在 AndroidManifest.xml 中添加以下权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_LOGS" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
在 AndroidManifest.xml 中添加所需的 activity 和服务
<activity android:name="com.bugtags.library.BugtagsActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/> <receiver android:name="com.bugtags.library.BugtagsReceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> </intent-filter> </receiver> <service android:name="com.bugtags.library.BugtagsService"/>
第二步:添加回调
在你的
Activity 基类
(或所有的 Activity)中添加 3 个回调:package your.package.name; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import com.bugtags.library.Bugtags; public class BaseActivity extends Activity{ @Override protected void onResume() { super.onResume(); //注:回调 1 Bugtags.onResume(this); } @Override protected void onPause() { super.onPause(); //注:回调 2 Bugtags.onPause(this); } @Override public boolean dispatchTouchEvent(MotionEvent event) { //注:回调 3 Bugtags.onDispatchTouchEvent(this, event); return super.dispatchTouchEvent(event); } }
第三步:启动 SDK
继承 Application
,在 onCreate() 方法中初始化 Bugtags:public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); //在这里初始化 Bugtags.start("APP_KEY", this, Bugtags.BTGInvocationEventBubble); } }
关于启动参数和启动模式,请参考文档。
修改
AndroidManifest.xml
,使用MyApplication
类,例如:<application android:name=".MyApplication"> .... </application>
第四步:ProGuard 混淆规则
# ProGuard configurations for Bugtags
-keepattributes LineNumberTable,SourceFile
-keep class com.bugtags.library.** {*;}
-dontwarn com.bugtags.library.**
-keep class io.bugtags.** {*;}
-dontwarn io.bugtags.**
-dontwarn org.apache.http.**
-dontwarn android.net.http.AndroidHttpClient
# End Bugtags
更多
- 默认情况下,App 在联机调试(即
true == Debug.isDebuggerConnected()
) 状态下,不自动上报闪退;可通过设置启动参数BugtagsOptions -> trackingCrashLog
来实现自定义; - 使用启动参数
BugtagsOptions options = new BugtagsOptions.Builder().
trackingLocation(true).//是否获取位置,默认 true
trackingCrashLog(true).//是否收集crash,默认 true
trackingConsoleLog(true).//是否收集console log,默认 true
trackingUserSteps(true).//是否收集用户操作步骤,默认 true
build();
Bugtags.start("APP_KEY", this, Bugtags.BTGInvocationEventBubble, options);
- SDK 最低兼容
Android 2.3(API 9)
及以上版本;集成有问题请进入 QQ 群:126207501;