android app升级失败原因,2019-06-27 Android app 升级遇到问题

本文档记录了在Android手机版本更新时如何处理5.0、6.0、7.0之间的兼容性问题,特别是针对6.0及以上版本中安装APK的API变化。在6.0以上,使用DownloadManager下载完成后,需要通过FileProvider来获取APK的URI并添加权限进行安装。同时,强调了在进行apk升级时,versionCode和versionName必须递增,否则可能导致安装失败。小米、OPPO、VIVO等厂商的后台更新机制也要求versionCode增大。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.手机版本更新时 适配5.0 6.0 7.0 因为6.0以后Android安装apk api 变化 downloadmanager 下载完成之后 获取apk 的uri 6.0以上安装方法改变 需要进行兼容

兼容方法 :

public static void installApk(Context context, Uri apkPath) {

File apkFile =

new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),"member.apk");

Intent intent =new Intent(Intent.ACTION_VIEW);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {

Uri apkUri = FileProvider.getUriForFile(context,"com.nucarf.member.fileprovider", apkFile);

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

intent.setDataAndType(apkUri,"application/vnd.android.package-archive");

}else {

Uri uri = Uri.parse("file://" + apkFile);

intent.setDataAndType(uri,"application/vnd.android.package-archive");

}

context.startActivity(intent);

}

2. apk 升级时候 versionCode versionName 必须修改升级

小米,oppo,vivo后台在做应用更新时是必须增大版本号:version code值。 请您确认提交的版本的版本号(version code)要大于线上目前的应用的。 亲测得知 version code必须不小于之前版本的version code值 ,如果小于会报安装失败

结语:仅此记录版本更新的细节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值