美文网首页
Android 解决app应用内升级或者新版本的apk无法覆盖旧

Android 解决app应用内升级或者新版本的apk无法覆盖旧

作者: 静夜思亲 | 来源:发表于2018-09-13 14:24 被阅读0次

    Android 解决app应用内升级或者新版本的apk无法覆盖旧版本apk手机提示应用包损坏的问题

    bug场景:本人接手了一个已经开发好的项目,由于需求更新要对app进行升级,但是我打包好的apk无论如何都覆盖不了旧版本apk,手机一直提示应用包损坏。经过本人的不懈努力终于找到了问题的原因。本人刚刚接手的时候app项目代码中 versionCode为7,因此我升级后的apk将versionCode改为8,但是却覆盖不了,最终我使用aapt 命令查看旧的  apk的versionCode居然为14.这时我真想拿出背后藏着的刀。。。

    除此之外还有其他情况会导致该问题的发生。以下是解决方式:

    1.排除新版本APK文件的确是损坏的问题。可以先卸载旧版本apk之后再安装新版本apk来判断是否是文件损坏的问题。

    2.手机提示 “该文件包与具有同一名称的现有文件包存在冲突”  表示两个apk的包名相同但是所使用的签名文件不同。

    3.新版本的apk的targetSdkVersion低于旧版本的targetSdkVersion,也会导致apk安装不成       功,需要调高新版本targetSdkVersion。

    4.新版本的versionCode和versionName 低于旧版本的versionCode和versionName

    查看apk的相关信息方法:

    1.找到你的sdk目录下build-tools文件夹下最新版本sdk文件夹下的aapt.exe文件,复制该文件所在目录添加到电脑环境变量的Path 下。启动cmd;(或者在cmd下切换到该文件所在的目录下);

    2.输入命令aapt[空格]dump[空格]badging[空格]APK文件,该apk的相关信息就会出现;数据量较多,请筛选。

    相关文章

      网友评论

          本文标题:Android 解决app应用内升级或者新版本的apk无法覆盖旧

          本文链接:https://www.haomeiwen.com/subject/mcdzbftx.html