目前公司推廣的APP大部分應用在特定領域,APP的修改及問題由前方一線同事提出,但仍需要開發人員監控異常,及時修改。
一分鐘接入騰訊Bugly,監控應用報錯信息。
1.註冊:
Bugly官網:
https://bugly.qq.com,進入官網QQ登錄。
輸入:名稱、平臺、類型、描述。
在產品信息中,獲取App ID。
2.接入
1.在dependencies中引入
// 騰訊Bugly
implementation 'com.tencent.bugly:crashreport:latest.release'
implementation 'com.tencent.bugly:nativecrashreport:latest.release'
2.在defaultConfig設置支持的SO庫架構
ndk {
// 設置支持的SO庫架構
abiFilters 'armeabi'//, 'armeabi-v7a', 'armeabi-v8a'
}
3.在gradle.properties加入
android.useDeprecatedNdk=true
4.在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" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
5.在自己Application,並在配置文件中配置:
public class MyApplication extends LitePalApplication {
protected static MyApplication instance;
@Override
public void onCreate() {
super.onCreate();
instance =this;
// 監控bug
initBuggly();
}
private void initBuggly(){
CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(getApplicationContext());
String appChannel = BuildConfig.FLAVOR + "-"
+ BuildConfig.BUILD_TYPE + "-";
String appVersion = BuildConfig.VERSION_NAME;
appVersion = appVersion.replace("-SNAPSHOT", "");
//渠道
strategy.setAppChannel(appChannel);
//版本號
strategy.setAppVersion(appVersion);
//包名
strategy.setAppPackageName("com.zachary.util");
// Bugly崩潰統計初始化
CrashReport.initCrashReport(getApplicationContext(), BuildConfig.BUGLY_APPID, BuildConfig.DEBUG, strategy);
}
3.測試
寫一個常見空指針bug:
// 寫個bug
TextView textView = null;
textView.setText("zachary");
平臺信息:
4.新建標籤
爲了歸類,將bug分類,在平臺進行打標籤。
在activity中添加標籤:
// 標籤:activity
CrashReport.setUserSceneTag(this, 119874);