Android Studio 配置
依賴配置
在 app/build.gradle 下加入依賴
dependencies {
compile 'com.tencent.bugly:crashreport_upgrade:latest.release'1.2.0
compile 'com.tencent.bugly:nativecrashreport:latest.release'
}
參數配置
1. 權限配置
在 AndroidMainfest.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" />
2. Activity 配置
<activity
android:name="com.tencent.bugly.beta.ui.BetaActivity"
android:configChanges="keyboardHidden|orientation|screenSize|locale"
android:theme="@android:style/Theme.Translucent" />
3. 配置 FileProvider
如果您想兼容 Android N 或者以上的設備,必須要在 AndroidManifest.xml 文件中配置 FileProvider 來訪問共享路徑的文件
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.fileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
在 res 目錄新建 xml 文件夾,創(chuàng)建 provider_paths.xml 文件,文件內容如下
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<!-- /storage/emulated/0/Download/${applicationId}/.beta/apk-->
<external-path name="beta_external_path" path="Download/"/>
<!--/storage/emulated/0/Android/data/${applicationId}/files/apk/-->
<external-path name="beta_external_files_path" path="Android/data/"/>
</paths>
4. 混淆配置
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
-keep class android.support.**{*;}
SDK的使用
封裝一個工具類
為了維護方便,我封裝了一個工具類,在工具類中統(tǒng)一管理 Bugly 的 API
public class BuglyUtil {
/**
* 初始化SDK
*/
public static void init(Context context) {
// true表示初始化時自動檢查升級; false表示不會自動檢查升級,需要手動調用Beta.checkUpgrade()方法;
Beta.autoCheckUpgrade = false;
// 只允許在MainActivity上顯示更新彈窗,其他activity上不顯示彈窗
Beta.canShowUpgradeActs.add(MainActivity.class);
Bugly.init(context, "注冊時申請的APPID", false);
}
/**
* 靜默檢查更新,并彈窗
*/
public static void checkUpdate() {
/**
* @param isManual 用戶手動點擊檢查,非用戶點擊操作請傳false
* @param isSilence 是否顯示彈窗等交互,[true:沒有彈窗和toast] [false:有彈窗或toast]
*/
Beta.checkUpgrade(false, false);
}
}
關于 Beta 類的 API,可以查看Bugly Android 應用升級 SDK 高級配置
使用
在 Application 中初始化 SDK
public class AppApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
BuglyUtil.init(this);
}
}
在 MainActivity 中檢查更新
public class MainActivity extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BuglyUtil.checkUpdate();
}
}