1. 程式人生 > >應用在華為P9手機上安裝失敗原因分析 (錯誤碼:-110)

應用在華為P9手機上安裝失敗原因分析 (錯誤碼:-110)

問題描述:

應用在之前的華為手機上都能正常安裝,但是在華為P9手機上安裝失敗,提示錯誤為: 失敗原因: 系統問題導致安裝失敗(錯誤碼:-110)

原因分析:

  1. 開始懷疑是android的版本問題,後來看了一下在華為Mate8上面也能正常安裝,華為Mate8和華為P9都是android6.0
  2. 華為P9 用的是 EMUI 4.1版本,但是華為Mate8用的是EMUI4.0, 初步懷疑是EMUI升級後的問題
  3. 開啟Logcat,抓取Log後,檢視到下面可疑的Log
05-14 19:51:04.094: E/HwCertificationManager(1004): read cert error:read certification file error!
05-14 19:51:04.094: E/HwCertificationManager(1004): read cert failed 05-14 19:51:04.094: E/HwCertificationManager(1004): checkHwCertification parse error 05-14 19:51:04.095: E/installd(534): Couldn't opendir /data/data/com.shb.assistant: No such file or directory 05-14 19:51:04.096: W/PackageManager(1004): Package couldn't be installed in /data/app/com.shb.assistant-1
05-14 19:51:04.096: W/PackageManager(1004): com.android.server.pm.PackageManagerException: hwcertification parse error 05-14 19:51:04.096: W/PackageManager(1004):     at com.android.server.pm.HwPackageManagerService.checkCertificationInner(HwPackageManagerService.java:3042) 05-14 19:51:04.096: W/PackageManager(1004):     at com.android.server.pm.HwPackageManagerService.checkHwCertification(HwPackageManagerService.java:3024)
05-14 19:51:04.096: W/PackageManager(1004):     at com.android.server.pm.PackageManagerService.scanPackageLI(PackageManagerService.java:6941) 05-14 19:51:04.096: W/PackageManager(1004):     at com.android.server.pm.PackageManagerService.scanPackageLI(PackageManagerService.java:6930) 05-14 19:51:04.096: W/PackageManager(1004):     at com.android.server.pm.PackageManagerService.installNewPackageLI(PackageManagerService.java:12494) 05-14 19:51:04.096: W/PackageManager(1004):     at com.android.server.pm.PackageManagerService.installPackageLI(PackageManagerService.java:13215) 05-14 19:51:04.096: W/PackageManager(1004):     at com.android.server.pm.PackageManagerService.-wrap29(PackageManagerService.java) 05-14 19:51:04.096: W/PackageManager(1004):     at com.android.server.pm.PackageManagerService$10.run(PackageManagerService.java:10799) 05-14 19:51:04.096: W/PackageManager(1004):     at android.os.Handler.handleCallback(Handler.java:743) 05-14 19:51:04.096: W/PackageManager(1004):     at android.os.Handler.dispatchMessage(Handler.java:95) 05-14 19:51:04.096: W/PackageManager(1004):     at android.os.Looper.loop(Looper.java:150) 05-14 19:51:04.096: W/PackageManager(1004):     at android.os.HandlerThread.run(HandlerThread.java:61) 05-14 19:51:04.096: W/PackageManager(1004):     at com.android.server.ServiceThread.run(ServiceThread.java:46) 05-14 19:51:04.115: I/art(1004): Starting a blocking GC Explicit 分析應該是安裝軟體的時候,進行了證書的檢查,發現軟體不符合條件,導致不能安裝。 翻看一下原始碼:scanPackageLI  這個應該是對APK裡的檔案進行解析,但是華為肯定是修改了這個函式,添加了一個checkHwCertification的過程。 checkHwCertification裡面應該是檢查了華為特有的東西。
  1. 開啟程式碼 在AndroidManifest.xml 找找有有沒有什麼華為比較在乎需要檢查的東西,,一看果然發現了下個。
<!--華為角標-->
<uses-permissionandroid:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permissionandroid:name="com.huawei.permission.sec.MDM"/>
  1. 把這兩個許可權一刪除,軟體就可以正常安裝了。
  2. 開啟華為的官方文件,找到下面一段說明:
    2.3 將華為證書打包到開發者應用中
    使用上面提到的“DevPack.exe”工具,將剛剛下載的華為證書打包到開發者 APK 中:
到這裡原因以及很明白了,就是開發這沒有把證書加入到APK裡面,導致安裝的檢查證書不通過。安裝失敗。 但是華為也很不地道,之前都沒有這個過程,到P9上忽然加上這個限制,沒有任何說明,直接就是軟體安裝失敗。讓廣大開發者情何以堪。做android應用開發的小夥伴真是不容易,要應付形形色色的奇葩相容性問題。

解決方案:

  1. 去掉角標功能,一般的應用是無法通過華為的稽核的。在 AndroidManifest.xml刪除下面的許可權申明:
<!--華為角標-->
<uses-permissionandroid:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/> <uses-permissionandroid:name="com.huawei.permission.sec.MDM"/>
  1. 把華為的證書打包到應用裡面。

相關推薦

應用P9手機安裝失敗原因分析 誤碼-110

問題描述: 應用在之前的華為手機上都能正常安裝,但是在華為P9手機上安裝失敗,提示錯誤為: 失敗原因: 系統問題導致安裝失敗(錯誤碼:-110) 原因分析: 開始懷疑是android的版本問題,後來看了一下在華為Mate8上面也能正常安裝,華為Mate8和華為P9

python安裝失敗原因分析未指定錯誤0x80072efd

python安裝時間很長,最終報錯未指定錯誤0x80072efd     原因分析: download dubugging symbols download debug binaries 這兩項需要聯網(外網),國內安裝會超時報錯。所以安裝時取消這兩項就

mate 10 pro安裝失敗,提示沒有未包含任何證書

class 包含 htm clas eve 導致 默認 使用 out 原因: Android 7.0 引入一項新的應用簽名方案 APK Signature Scheme v2,它能提供更快的應用安裝時間和更多針對未授權 APK 文件更改的保護。在默認情況下,Andro

apk 在個別手機安裝失敗,提示軟體包損壞

前幾天,更新APP版本,APP在應用寶上架後,在華為手機和公司其他測試機上可以正常下載安裝沒有問題,但是在魅族機上卻提示安裝失敗,軟體包已損壞,想了很多種可能,像檔案殘留等,但是都沒有效果,最終發現原因是APP的SDK版本問題 原因 隨著Android的快速發展,目前國內的部分市

虛擬化fusioncompute元件安裝失敗解決方法

華為虛擬化fusioncomputeInstallTool安裝失敗,第一步驟過元件安裝不去, 1.檢視E:\CloudComponents\vrm\tomcat\logs下日誌,發現提示“%1 不是有效的 Win32 應用程式”。這個錯誤 我的系統WIN7 64位,JDK

雲伺服器安裝配置anaconda、tensorflow

1、檢視伺服器系統版本資訊 cat /etc/issue 2、下載anaconda wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh 3、安裝anaconda bash A

p9手機恢復出廠設定瞭如何找回

新買的華為p9手機,剛拿到手總是很新奇了,時不時的就喜歡拿出來搗鼓搗鼓,不知道就怎麼點到出廠設定了,一下子剛存好的電話,照片,簡訊,全沒了。出廠設定就相當與對華為p9手機進行了格式化,這樣的情況下,還能找的會資料嗎?   很多人不太瞭解出廠設定是什麼,如今,我們用的都是智

android studio 連線不SLA_AL00手機

                          使用環境:        當你擁有此款手機,想用來測試卻連線不上,

mate8 拍照傳圖片失敗

華為 mate8 拍照上傳圖片失敗 問題描述 在上傳圖片時,華為 mate8 掉起相簿可以正常上傳,但是掉起相機拍照片時,上傳失敗(僅限於原生瀏覽器)。場景:諮詢流程上傳圖片,上傳檢查檢驗 解決方案 通過 debugger ,發現,mate8 在原生瀏覽器拍

如何開啟小米,oppo,手機的系統應用的指定頁面

如題,拿Oppo 手機做個示例,小米 華為也是如此。 在編寫Android應用的時候,我們經常會有這樣的需求,我們想直接開啟系統應用的某個頁面。比如在Oppo R9 手機上我們想開啟某個應用的通知管理介面如下圖 點選QQ圖示,跳轉到如下介面

HTML5開啟本地app應用的方法,如果你的手機安裝App,就會自動打app,否則在頁面上會提示你進行下載app

html中其實是無法判斷應用是否安裝,除非在webview中通過js bridge,這裡通過一種方式達到此目的。 1、編輯AndroidManifest.xml: 主要是增加第二個,myapp用來標識schema,最好能保證手機系統唯一,那樣就可以開

手機7.0以上7.0popwindow位置顯示錯亂,飄

由於測試手機上華為meta8,升級了7.0以後突然popwindows顯示位置往上飄了, 其他機型沒啥問題,一直沒找到原因?後來看到一個連線? 原來是 in showAtLocation failed to no gravity 在7.0上沒有工作 解決

雲伺服器搭建OTA伺服器之安裝apache 與ftp

之前寫了OTA服務端和客戶端程式碼,在本地區域網用wamp測試過,想放到公網上去測試下。 於是想到用雲伺服器,找來找去發現還是華為的實惠,1元體驗15天,還是2G記憶體,對本人測試來說已經足夠了。 由於本人在伺服器這塊確實是無知,所以這個安裝過程很是坎坷,折騰了好長一段時間

P8手機裏刪除的照片能夠恢復嗎 照片恢復軟件手機

華為P8手機裏刪除的照片能夠恢復嗎 即使是被誤刪的數據資料,我們也是可以進行恢復的,可能很少有人知道操作方法,其實手機刪除的照片能夠恢復嗎?是可以通過一些軟件進行恢復的,今天就教大家如何恢復這些數據,下面就一起來看看詳細的介紹吧。有一點大家一定要註意,誤刪數據後就不要再操作手機了。以免再次導致誤刪!

GVRP的應用拓撲

自動獲取 mar 設置 開啟 com net system-v tex png 一、實驗拓撲圖 二、實驗目的1.在一臺交換機中設置vlan,使相連的其他交換機可以自動獲取vlan 三、實驗所需的設備1.三臺二層交換機 四、實驗步驟1.分別在三臺交換機中開啟GVRP功能

鏈路捆綁的應用--拓撲

pass system-v -type body gate eth ces 退出 全局 一、實驗拓撲圖 二、實驗目的 1.全網互通 2.為PC機劃分不同vlan 3.運用鏈路捆綁實現三層交換機之間的通信 4.運用DHCP是PC機自動獲取IP地址 三、實驗所需的設備及配

設備STP模式、RSTP模式下開關機是否觸發TC變更源自考官的一道追問題目

華為HCIE面試技巧 華為HCIE面試題聲明:本實驗用真機完成,終端采用了路由器和PC。華為交換測試版本:[SW2] dis version Huawei Versatile Routing Platform SoftwareVRP (R) software, Version 5.160 (S5700

全面屏拯救移動PC!能當救“市”主嗎?

華為 移動 PC 日前,在巴塞羅那舉辦的MWC2018(世界移動通信大會)上,華為放出了憋了一年的大招——世界首款全面屏觸控筆記本MateBook X Pro 13.9。為了這個大招,華為消費者業務CEO余承東特意親自為其站臺,只不過也因為他在大會上過於高調的其他言論,以及隨後華為官方對其言論的大

設備實戰站點到站點的虛擬私有網絡

kilo keepaliv mtu 12.1 data outbound play RoCE 形式 1.實驗目的 掌握華為設備上IKE方案實施站點到站點的虛擬私有網絡IPSec在IP層通過加密與數據來源認證等方式,來保證數據包在網絡上傳輸時的私有性、真實性、完整性和抗重放。

雲伺服器使用oracle 12C

基礎配置:雲伺服器 2C 4G oracle 12c 安裝步驟略過,資料庫軟體安裝完成後,使用dbca安裝了資料庫,sqlplus登入正常,本地telnet 1521失敗 檢查監聽狀態 開始配置監聽,使用NET ca配置 監聽配置完成,服務啟動 此時伺服器中1521已通,如果需要對外