在应用开发过程中经常会遇到应用安装失败的问题,今天就给大家分析一下一些华为手机上主要的安装错误码,帮助大家快速的解决应用安装问题。

1. 该安装包无效或不完整、该安装包与操作系统不兼容(错误码:-2)

原因分析:三方应用上架时上传了无效安装包

解决办法:上传正确的安装包

2. 存储空间不足(错误码:-4)

原因分析:应用安装时空间不足

解决办法:清理手机空间,可以搜索手机管家,进入手机管家的清理加速

3. 手机上有相同包名应用(错误码:-5)

原因分析:华为应用新旧包名替换,手机上已经安装新包名,旧包名apk不能安装

解决方法:修改为应用的包名为新包名

4. 更新不兼容(错误码:****-7)

原因分析:安装的应用与手机上的应用包名相同但是签名不相同

解决方法:修改打包的签名为上个版本的签名

5. 共享用户不兼容(错误码:-8)

原因分析:应用为ShareUid应用,应用与已经安装的ShareUid应用签名不一致导致安装失败。

解决办法:与已有的ShareUid应用签名保持一致

6. 共享库已丢失(错误码:-9)

原因分析:应用依赖了系统不存在的共享库,最常见的是google map library导致安装失败

解决方法:建议应用集成HMS以避免google map library产生的问题。

7. 应用组件的命名与已安装应用有冲突(错误码:-13)

原因分析:应用定义的ContentProvider与手机上已经安装的应用冲突

如何确定与什么应用冲突:

1.查看日志,找到安装失败回调

2020-12-26 09:39:06.589[PackageManager/InstallResultReceiver][INFO]main{1} package install callback:packageName:[com.MobileTicket],statusCode:[5],extraStatus:[INSTALL_FAILED_CONFLICTING_PROVIDER: Scanning Failed.: Can't install because provider name com.mpaas.demo.nebula.provider (in package com.MobileTicket) is already used by com.hanweb.hnzwfw.android.activity],otherPkgName:[null],storagePath:[null],resultCode:[-13]

2.adb指令拿到出问题手机上所有的ContentProvider定义,查看哪个应用跟要安装的应用冲突了。

adb shell dumpsys package providers >d:/temp/provider.txt

解决方法:

卸载手机上ContentProvider 中Provider Authorities相同的应用以解决冲突问题

8. 应用与此设备的CPU不兼容(错误码:-113、-16)

原因分析:应用打包未针对特定cpu版本进行适配

解决方法:应用需要兼容对应cpu类型。

9. 应用验证超时(错误码:-21)& 应用验证失败(错误码:-22)

原因分析:手机自动到google play 商店校验应用是否合法,访问过程中网络连接超时,正常发货手机不会主动去google play商店校验,除非用户主动升级了google play商店或者用户下载的某个应用去升级了google play商店,导致去校验超时。

解决方法:

1.到手机中设置—应用—应用管理---找到界面菜单键 点击显示系统应用---找到google play 商店 --- 找到卸载按钮或者界面中菜单按钮点击卸载更新 -----卸载完成如果界面上显示停用应用点击停用(没有则不用设置)

2. 设置---Google---安全----goole play保护机制 里面的开关是否开启了,如果开启则全部关闭。

10. 系统已经存在较高版本,此安装包无法安装(错误码:-25)

原因分析:android是多用户机制,这个地方可能存在子用户、隐私空间有高版本的应用存在导致不能安装,并且是用户参加过众测之类的活动导致安装了比较高的版本

解决方法:查看子用户和隐私空间中有没有对应的高版本,如果有,卸载高版本的应用后再安装

11. 解析失败(错误码:-102)

原因分析:安装包打包错误导致解析失败

解决方法:在华为应用市场安装请找华为应用市场开发人员定位(找到日志中下载路径,通过电脑浏览器下载apk,通过adb安装看是否同样报错),其他渠道安装联系其他渠道人员定位

12. 安装包未包含任何证书(错误码:-103)

原因分析:安装包中没有证书,安装包试内侧用户专属包,定向发送给用户。

解决办法:需要开发者添加证书。

13. 未知错误(错误码:-111)

原因分析:只有华为应用安装不了,其他应用正常安装,或者其他应用也不能安装,设备是定制设备不能随便安装应用

解决办法:此设备可能是鼎桥双系统警务通的机型,需要联系鼎桥热线反馈问题。

14. 应用定义的权限与系统已有应用的权限冲突(错误码:-112)

原因分析:安装的应用与手机已经安装的应用定义权限有冲突,详细分析中有显示冲突的已安装应用是哪个

解决方法:需要开发者修改自定义权限