Eclipse 集成

注意:

  • 如需更新,重新下载 SDK 进行集成;
  • 请勿与其他带有崩溃分析的 SDK 同时使用,否则将有可能影响崩溃捕捉功能的正常使用,具体参考这里
  • 关于小米手机悬浮小球等问题,请查看:Android 常见问题
  • React-Native 集成,请参考:Bugtags-React-Native
  • SDK 初始化会获取设备 MAC 地址的 Hash 值做为设备唯一标识,如应用对隐私敏感,请在用户同意隐私政策后初始化 SDK。

第一步:添加权限和服务

  • 下载 SDK

  • import Bugtags-Android-Eclipse-Lib 到项目的工作空间

  • 将其添加为您的工程的库依赖。

    添加依赖这一步非常重要!

    方法为:> 项目->右键->property->Android->Library 中添加"Bugtags-Android-Eclipse-Lib"项目作为依赖,要十分注意support-v4重复的问题

    如下图:

    Bugtags-Eclipse

  • Bugtags 包含多个架构的 SO 库: armeabi armeabi­v7a arm64­v8a 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;

参考资源