华为手机提示更新包与已安装应用的签名不一致
华为手机提示更新包与已安装应用的签名不一致
- 自己尝试解决
- 网上寻找解决方案
- 1、配置adb
- 2、查看APK的包名
- 3、彻底卸载原有应用信息
- 新的思考
最近使用华为手机(HUAWEI Mate 20)调试程序,发现一个问题。直接使用AndroidStudio安装的时候很顺利,没有出现错误。后来我需要看一下release版的效果,就把之前安装的程序卸载了,手动安装release版的程序,发现安装失败。提示更新包与已安装应用的签名不一致,可是我已经把之前安装的版本卸载了,根本没有已安装的应用啊,而且之前用其他品牌的手机也没遇到过这样的问题啊。
自己尝试解决
首先我先按照手机给出的处理建议来看一下能不能解决。第一条:卸载当前已安装版本再重装不可行,因为我已经卸载了,没有已安装版本;第二条:说针对Android6.0以上的版本,要到"设置">“应用管理"里面去卸载。我的手机是华为Mate20,在"应用管理"里面根本找不到我这个应用,所以也就没法点击"为所有用户卸载”。两个方法都行不通,我怀疑是不是卸载之后还有缓存,导致安装不上。因此我就试着重启手机试一下,结果还是安装失败。
网上寻找解决方案
无奈之下只有上网百度。看能不能找到解决方案。后来果真让我找到一个可行的办法,附上原文链接。原因是应用卸载不彻底,给出的解决方法是利用adb工具进行彻底卸载,删除和原应用相关的东西。
1、配置adb
adb是Android SDK自带的一个工具,目录一般为:sdk安装目录>platform-tools>adb.exe.直接在dos下运行adb命令可能会提示’adb’ 不是内部或外部命令,也不是可运行的程序或批处理文件。那是因为我们没有把运行目录设置到adb.exe所在的文件夹,这也是我们为什么一般将adb.exe的路径加到系统的环境变量当中的原因。
添加之后在任何目录下都能访问adb.exe。配置好adb之后,在cmd下运行输入adb,回车之后如果出现如下的adb的版本信息,则说明环境变量已经配置好了,可以正常使用。
2、查看APK的包名
可以从AndroidStudio下你的项目的模块级的build.gradle下查看,
apply plugin: 'com.android.application'android {compileSdkVersion 28defaultConfig {applicationId "com.markton.spacertk"minSdkVersion 19targetSdkVersion 28versionCode 10versionName "1.3.3"multiDexEnabled true}
}
这里的applicationId就是你的应用包名。
当然,如果你只有一个安装包,怎么知道查看你的包名呢?可以直接在手机上使用腾讯GT调试工具查看。下载地址
另外还有一种稍微麻烦一点的办法,那就是使用aapt工具。aapt工具也是Android SDK自带的工具,目录位于:sdk安装目录>build-tools>29.0.1(平台版本号,一般为数字)>aapt.exe.同样可以和adb一样添加环境变量。
运行如下命令可以查看应用包名:
aapt dump badging <file_path.apk>
例如,我的安装包放在F盘的data目录下,那么就是:
aapt dump badging F:\data\SpaceRTK.apk
使用aapt工具不仅可以查看应用包名,而且可以查看应用的其他一些信息,比如版本号,版本名称、应用权限等等。
3、彻底卸载原有应用信息
首先把手机用数据线和电脑相连,同时打开开发人员选项按钮,运行USB调试,然后在cmd下执行卸载命令:
adb uninstall apk的包名
这里apk的包名就是你的应用的APK的包名。出现提示Success即说明卸载成功。
此时再次运行安装包就可以成功。
新的思考
安装成功之后,我又卸载了,然后重新安装release版本,此时也可以安装成功。说明只要签名对的上,就是上次没有卸载干净也没有关系。
然后我又试着用AndroidStudio直接安装,这时候安装的是debug版本的,当然,由于debug版和release版的签名不同,AS会提示你要卸载已安装的版本。卸载之后发现竟然直接安装成功,都不需要像之前一样用adb清除卸载残余。
所以我猜测华为手机可能对于debug版本的安装包不会检查你的签名信息,而对于release版的安装包,则会检查,如果发现和之前安装的不一致,则禁止安装,除非将之前的安装包信息彻底删除。
我还发现一个问题,那就是并不是所有的华为手机都会遇到文章开头提到的安装失败问题。我自己是华为mate20,有这个问题,我拿别人的华为mate9测试,则不会有这个问题,卸载之后直接就安装成功了,很奇怪。
第一次写博客,花了挺长时间,希望能够给遇到类似问题的朋友一点帮助。
参考博客:
安卓APP应用签名不一致无法安装的解决方案
adb与aapt获取安卓手机app的versionCode
华为手机提示更新包与已安装应用的签名不一致相关推荐
- 华为APP安装问题:更新包与已安装应用的签名不一致
问题 之前在华为Mate10上面进行app调试过,当我卸载应用,并安装正式包时出现了下面的问题. 提示错误为:更新包与已安装应用的签名不一致 出现包签名不一致的问题,说明原有的安装包并没有卸载干净.然 ...
- Android 6.0 更新包与已安装应用的签名不一致
异常 // 应用管理中找不到此应用 更新包与已安装应用的签名不一致 原因 未卸载干净 解决方法 # 确认连接到设备 adb devices # 卸载 adb uninstall xxx # 查看包名_ ...
- 更新包与已安装应用的签名不一致
更新包与已安装应用的签名不一致解决方法
- 安卓6.0更新版本出错:更新包与已安装应用的签名不一致,但在应用管理中却找不到这个已经卸载的应用
本人用的是mac系统,手机是华为P10 PLUS,系统是安卓8.0,使用AS进行开发 每次更新版本时,debug版与正式版的签名不一致,导致安装失败,但是如果直接在手机桌面拖拽删除了debug版,就有 ...
- Android 更新包与已安装应用的签名不一致
直接上图: 出现这个问题的时候我以为是我手机中还有这个安装包,但是我怎么查都没有查到,百度的时候有很多都是说签名的问题.还是没有解决这个问题,最后发现使用ADB命令安装查看和卸载APK,结果果然查到! ...
- 更新包与已安装应用的签名不一致,但在应用管理中却找不到这个已经卸载的应用
本人手机是华为P30Pro,系统是安卓9.1.0,使用Idea进行开发 在电脑开发环境上,USB调试多次后,使用正式签名版本安装时发现,debug版与正式版的签名不一致,导致安装失败,但是如果直接在手 ...
- 安卓Apk安装出错:更新包与已安装应用的签名不一致,但在应用管理中却找不到这个已经卸载的应用
一次我再使用同事的华为荣耀机型进行调试时,再覆盖安装一个签名发布包结果覆盖失败,但是同事又把签名包手机上装的debug调试包卸载后还是安装失败.后来找了查了一圈资料,是因为安卓手机系统不会真的卸载ap ...
- 解决更新包与已安装应用的签名不一致的问题
你的打赏,是对我最大的支持: 先不要慌 下面是解决办法 打开签名文件夹 输入cmd keytool -v -list -keystore ******.jks 查看签名的信息 这个相关帮助: 可 ...
- 更新包与已安装应用签名不一致
问题: 删除应用后仍出现此提示(更新包与已安装应用签名不一致) 目录 查找连接的设备 列出安装包(不完整) 执行卸载 检查结束 查找连接的设备 $ adb devices List of device ...
- 因为计算机安装了更新i,电脑安装iTunes时提示这台电脑已安装了更高版本的解决方法图文教程...
最近有用户在电脑中安装iTunes软件时,出现了提示"这台电脑已安装了更高版本的Apple Software Update",如果遇到了这样的问题,这该怎么办呢?下面脚本之家的小编 ...
最新文章
- 每日英语-7/21/2009
- 关于RasASM的一个编译错误
- 华为轮值主席鸿蒙,鸿蒙2.0已开源 华为轮值董事长:今年至少3亿设备搭载鸿蒙系统...
- 技术干货 | C++20 四大特性之一:Module 特性详解
- C++11:内联命名空间,无缝升级库代码
- 7个免费的Linux FTP客户端工具
- windows c语言 http https检测_C语言编程工具的选择
- 2个通用js树型导航
- 关于解决Python中requests模块在PyCharm工具中导入问题
- python3.6 配置COCO API出错解决方案
- WKWebView加载HTTPS的链接
- 如何通过Homography矩阵制作虚拟图像
- java咖啡机_JAVA咖啡机2010款
- 如何关闭android键盘,软键盘怎么关?软键盘关闭方法
- IM即时通讯源码 聊天交友APP源码
- ​分享|Tiktok小店入驻如何选择​
- linux 获取视频截图,linux ffmpeg 视频截图 安装使用
- 基于PHP+Mysql全品类在线购物商城设计
- 【Linux】:shell循环语句
- 在线教育行业未来的发展趋势
热门文章
- 人之最美,纯朴初心,有所不为
- 帮助台与服务台有何区别,你知道吗?
- java中创建库存_java案例实例 商品库存管理系统
- win10如何退出微软账户
- 2018年全国大学生电子设计竞赛
- Amazon EKS 版本管理策略与升级流程
- vue面试五之vue修饰符中 .lazy 等用法、Vue v2.4中新增的$attrs及$listeners属性的使用、v-once 的使用场景、vue组件里的定时器该如何销毁、vue海量数据优化等
- macOS 手动清理垃圾文件
- 智能制造信息化系统·详解
- 转:echarts图表x,y轴的设置