Eclipse 集成

注意:

  • 如需更新,重新下载 SDK 进行集成;
  • 请勿与其他带有崩溃分析的 SDK 同时使用,否则将有可能影响崩溃捕捉功能的正常使用,具体参考这里
  • 关于小米手机悬浮小球等问题,请查看:Android 常见问题

第一步:添加权限和服务

  • 下载 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;

参考资源

评论