在應(yīng)用開發(fā)過程中經(jīng)常會遇到應(yīng)用安裝失敗的問題,今天就給大家分析一下一些華為手機(jī)上主要的安裝錯誤碼,幫助大家快速的解決應(yīng)用安裝問題。
1. 該安裝包無效或不完整、該安裝包與操作系統(tǒng)不兼容(錯誤碼:-2)
原因分析:三方應(yīng)用上架時上傳了無效安裝包
解決辦法:上傳正確的安裝包
2. 存儲空間不足(錯誤碼:-4)
原因分析:應(yīng)用安裝時空間不足
解決辦法:清理手機(jī)空間,可以搜索手機(jī)管家,進(jìn)入手機(jī)管家的清理加速
3. 手機(jī)上有相同包名應(yīng)用(錯誤碼:-5)
原因分析:華為應(yīng)用新舊包名替換,手機(jī)上已經(jīng)安裝新包名,舊包名apk不能安裝
解決方法:修改為應(yīng)用的包名為新包名
4. 更新不兼容(錯誤碼:-7)
原因分析:安裝的應(yīng)用與手機(jī)上的應(yīng)用包名相同但是簽名不相同
解決方法:修改打包的簽名為上個版本的簽名
5. 共享用戶不兼容(錯誤碼:-8)
原因分析:應(yīng)用為ShareUid應(yīng)用,應(yīng)用與已經(jīng)安裝的ShareUid應(yīng)用簽名不一致導(dǎo)致安裝失敗。
解決辦法:與已有的ShareUid應(yīng)用簽名保持一致
6. 共享庫已丟失(錯誤碼:-9)
原因分析:應(yīng)用依賴了系統(tǒng)不存在的共享庫,最常見的是google map library導(dǎo)致安裝失敗
解決方法:建議應(yīng)用集成HMS以避免google map library產(chǎn)生的問題。
7. 應(yīng)用組件的命名與已安裝應(yīng)用有沖突(錯誤碼:-13)
原因分析:應(yīng)用定義的ContentProvider與手機(jī)上已經(jīng)安裝的應(yīng)用沖突
如何確定與什么應(yīng)用沖突:
1.查看日志,找到安裝失敗回調(diào)
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指令拿到出問題手機(jī)上所有的ContentProvider定義,查看哪個應(yīng)用跟要安裝的應(yīng)用沖突了。
adb shell dumpsys package providers >d:/temp/provider.txt
解決方法:
卸載手機(jī)上ContentProvider 中Provider Authorities相同的應(yīng)用以解決沖突問題
8. 應(yīng)用與此設(shè)備的CPU不兼容(錯誤碼:-113、-16)
原因分析:應(yīng)用打包未針對特定cpu版本進(jìn)行適配
解決方法:應(yīng)用需要兼容對應(yīng)cpu類型。
9. 應(yīng)用驗證超時(錯誤碼:-21)& 應(yīng)用驗證失敗(錯誤碼:-22)
原因分析:手機(jī)自動到google play 商店校驗應(yīng)用是否合法,訪問過程中網(wǎng)絡(luò)連接超時,正常發(fā)貨手機(jī)不會主動去google play商店校驗,除非用戶主動升級了google play商店或者用戶下載的某個應(yīng)用去升級了google play商店,導(dǎo)致去校驗超時。
解決方法:
1.到手機(jī)中設(shè)置—應(yīng)用—應(yīng)用管理---找到界面菜單鍵 點擊顯示系統(tǒng)應(yīng)用---找到google play 商店 --- 找到卸載按鈕或者界面中菜單按鈕點擊卸載更新 -----卸載完成如果界面上顯示停用應(yīng)用點擊停用(沒有則不用設(shè)置)
2. 設(shè)置---Google---安全----goole play保護(hù)機(jī)制 里面的開關(guān)是否開啟了,如果開啟則全部關(guān)閉。
10. 系統(tǒng)已經(jīng)存在較高版本,此安裝包無法安裝(錯誤碼:-25)
原因分析:android是多用戶機(jī)制,這個地方可能存在子用戶、隱私空間有高版本的應(yīng)用存在導(dǎo)致不能安裝,并且是用戶參加過眾測之類的活動導(dǎo)致安裝了比較高的版本
解決方法:查看子用戶和隱私空間中有沒有對應(yīng)的高版本,如果有,卸載高版本的應(yīng)用后再安裝
11. 解析失?。ㄥe誤碼:-102)
原因分析:安裝包打包錯誤導(dǎo)致解析失敗
解決方法:在華為應(yīng)用市場安裝請找華為應(yīng)用市場開發(fā)人員定位(找到日志中下載路徑,通過電腦瀏覽器下載apk,通過adb安裝看是否同樣報錯),其他渠道安裝聯(lián)系其他渠道人員定位
12. 安裝包未包含任何證書(錯誤碼:-103)
原因分析:安裝包中沒有證書,安裝包試內(nèi)側(cè)用戶專屬包,定向發(fā)送給用戶。
解決辦法:需要開發(fā)者添加證書。
13. 未知錯誤(錯誤碼:-111)
原因分析:只有華為應(yīng)用安裝不了,其他應(yīng)用正常安裝,或者其他應(yīng)用也不能安裝,設(shè)備是定制設(shè)備不能隨便安裝應(yīng)用
解決辦法:此設(shè)備可能是鼎橋雙系統(tǒng)警務(wù)通的機(jī)型,需要聯(lián)系鼎橋熱線反饋問題。
14. 應(yīng)用定義的權(quán)限與系統(tǒng)已有應(yīng)用的權(quán)限沖突(錯誤碼:-112)
原因分析:安裝的應(yīng)用與手機(jī)已經(jīng)安裝的應(yīng)用定義權(quán)限有沖突,詳細(xì)分析中有顯示沖突的已安裝應(yīng)用是哪個
解決方法:需要開發(fā)者修改自定義權(quán)限