使用Bugly應用升級SDK實現App更新
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
資料夾,建立 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的使用
封裝一個工具類
為了維護方便,我封裝了一個工具類,在工具類中統一管理 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();
}
}
參考
相關文章
- Android實現應用的增量更新\升級Android
- Android技術分享| Bugly 應用升級自定義UIAndroidUI
- 使用 tableflip 實現應用的優雅熱升級
- Android不使用第三方升級庫實現應用升級Android
- 使用SQL Apply實現滾動升級SQLAPP
- GeneralUpdate實現應用程式更新
- ios12升級, App應用崩潰閃退iOSAPP應用崩潰
- 使用Appcelerator實現因特網應用程式APP
- Kubernetes 實戰——升級應用(Deployment)
- JavaFX桌面應用-版本升級Java
- Android應用增量升級Android
- [教程] 使用 Agora SDK 實現視訊對話應用 HouseParty – 附 iOS 原始碼GoiOS原始碼
- [教程] 使用 Agora SDK 實現視訊對話應用 HouseParty - 附 iOS 原始碼GoiOS原始碼
- Android應用增量升級方案之實踐篇Android
- uniapp實現熱更新APP
- Matrikon FLEX OPC UA SDK升級!現在支援反向連線!Flex
- SAP與Apple合作再升級,將推出SAP Cloud Platform SDK for iOSAPPCloudPlatformiOS
- 【Android】使用Bugly快速接入Tinker熱更新功能Android
- android sdk離線升級方法Android
- 用dbua實現oracle 9.2.0.8到10.2.0.1的升級Oracle
- Util 應用框架 UI 全新升級框架UI
- 【Flutter 基礎】 更新&升級Flutter
- JAVA 實現《超級瑪麗升級版》遊戲Java遊戲
- 【Bugly安卓開發乾貨分享】Android APP 快速 Pad 化實現安卓AndroidAPP
- 13 使用SQL Apply 升級資料庫SQLAPP資料庫
- 使用 .NET 升級助手將.NET Framework應用遷移到.NET 5Framework
- React 同構應用 PWA 升級指南React
- SpringBoot應用使用自定義的ApplicationContext實現類Spring BootAPPContext
- 不要升級!不要升級!MacOS 14.4 引發Java 應用崩潰MacJava應用崩潰
- 如何實現OpenHarmony的OTA升級
- flutter_xupdate 一鍵實現Flutter應用版本更新Flutter
- 應用升級SpringCloud版本時的注意事項(Dalston升級到Edgware)SpringGCCloud
- 全面升級 —— Apache RocketMQ 5.0 SDK 的新面貌ApacheMQ
- 應用身份服務IDaaS重磅升級
- Ionic實戰 自動升級APP(Android版)APPAndroid
- Holer實現手機APP應用外網訪問本地WEB應用APPWeb
- AWS RDS強制升級的應對之道——版本升級的最佳實踐
- Cozmo人工智慧機器人SDK使用筆記(8)-應用部分apps人工智慧機器人筆記APP