准备:
Android7.0Apk下载自动升级首先要确定设备进行root了,获取了读写权限,自动获取还有
<uses-permission
android:name="android.permission.INSTALL_PACKAGES"
tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
启动的MainActivity中加
<category android:name="android.intent.category.DEFAULT" />
使用:
private void DownLoadApk2(String url){
final String apkPath = CommonUtils.getAppPath(context);//apk下载存放路径,这里根据需要可以自己定
final File saveFile = new File(apkPath);
HttpRequest.download(url, saveFile, new FileDownloadCallback() {
//开始下载
@Override
public void onStart() {
super.onStart();
Log.e(TAG,"START");
}
//下载进度
@Override
public void onProgress(int progress, long networkSpeed) {
super.onProgress(progress, networkSpeed);
Log.e(TAG,"PROFRESS:"+progress);
if (progressDialog != null && progressDialog.isShowing()) {//一开始初始化一个progressDialog 用来展示下载进度
progressDialog.setProgress(progress);
}
}
//下载失败
@Override
public void onFailure() {
super.onFailure();
Log.e(TAG,"下载失败,请检查网络重新下载!");
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
}
//下载完成(下载成功)
@Override
public void onDone() {
super.onDone();
Log.e(TAG,"下载成功");
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
String path = saveFile.getAbsolutePath();
ShellUtils.execCommand("pm install -r " + path, true);//csdn好多文档对root后的自动升级指令都有介绍,这里就不介绍了
}
});
}
该博客介绍了在Android 7.0系统上实现Apk自动升级的步骤,包括获取root权限、添加必要权限以及下载完成后使用Shell命令安装更新。在MainActivity中监听下载进度,并通过ProgressDialog展示。下载完成后,调用Shell命令`pm install -r`来执行自动升级。
1万+

被折叠的 条评论
为什么被折叠?



