准备之前先用qq创建个bugly账号,把你的app上传上去,能得到一个appid。不过最近bugly内测更新,不接受新的app接入了,应该很快就好吧。
1.build.gradle里面配置
//腾讯bugly 自动更新
implementation 'com.tencent.bugly:crashreport_upgrade:latest.release'//其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.2.0
implementation 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新版本号,也可以指定明确的版本号,例如2.2.0
2.AndroidManfiest.xml里面配置权限及activity
<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" />
<!--腾讯bugly自动更新-->
<activity
android:name="com.tencent.bugly.beta.ui.BetaActivity"
android:configChanges="keyboardHidden|orientation|screenSize|locale"
android:theme="@android:style/Theme.Translucent" />
3、Beta配置
可以去官网api或者https://blog.youkuaiyun.com/qq_33689414/article/details/54911895
反正我是抄的,然后去掉几个不用的,改成适合我自己用的样子
4、自动更新实现
我把它加在login里面,在进入app登录界面时候自动检测,提示是否更新
5.点击自动更新实现
我是设了一个TextView显示版本信息,首先点击一次时显示旧的版本信息,再次点击则显示最新版本信息。
这个是抄官网的:用到的都在下面
private void loadUpgradeInfo() {
if (tvVersionNow == null)
return;
/***** 获取升级信息 *****/
UpgradeInfo upgradeInfo = Beta.getUpgradeInfo();
if (upgradeInfo == null) {
tvVersionNow.setText("无升级信息");
return;
}
StringBuilder info = new StringBuilder();
info.append("最新版本: ").append(upgradeInfo.versionName);
tvVersionNow.setText(info);
}
@OnClick({R.id.user_masages, R.id.user_use_help, R.id.user_quit, R.id.version_update})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.user_masages:
/**
*跳转详情页面
* Mine_user_item
*/
ARouter.getInstance().build("/lgs/useritem").navigation();
break;
case R.id.user_use_help:
break;
case R.id.version_update:
if(oldversions == true){
tvVersionNow.setText("当前版本:"+ versions);
oldversions = false;
}else {
/***** 检查更新 *****/
Beta.checkUpgrade();
loadUpgradeInfo();
}
break;
case R.id.user_quit:
getActivity().finish();
break;
}
}