1. 程式人生 > >安裝APK:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

安裝APK:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

簽名Apk後,安裝出現如下錯誤:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

google、百度後發現,JDK8 簽名時需要加上如下兩個引數:

-digestalg SHA1 -sigalg MD5withRSA

完整簽名命令如下:

jarsigner  -keystore myKey.keystore -storepass hapk_123  -signedjar MyTest.apk MyTest-unsigned.apk myKey.keystore -digestalg SHA1 -sigalg MD5withRSA -tsa http://timestamp.digicert.com

如果不設定tsa引數,會有如下警告:

警告: 
未提供 -tsa 或 -tsacert, 此 jar 沒有時間戳。如果沒有時間戳, 則在簽名者證書的到期日期 (2070-05-29) 或以後的任何撤銷日期之後, 使用者可能無法驗證此 jar。
*******************

將Java環境變數切換到jdk6後,不設定digestalg、sigalg、tsa3個引數, 一切都OK,執行的命令如下:

jarsigner  -keystore myKey.keystore -storepass hapk_123  -signedjar MyTest.apk MyTest-unsigned.apk myKey.keystore

PS:有些帖子自提高,自jdk7就會有如上jdk8出現的問題,未親測。

PS2,附錄jarsigner各引數的解析。

$jarsigner -h
用法:jarsigner [選項] jar 檔案別名(key的別名)
       jarsigner -verify [選項] jar 檔案
[-keystore <url>]           金鑰庫位置

[-storepass <口令>]         用於金鑰庫完整性的口令
[-storetype <型別>]         金鑰庫型別
[-keypass <口令>]           專用金鑰的口令(如果不同)
[-sigfile <檔案>]           .SF/.DSA 檔案的名稱
[-signedjar <檔案>]         已簽名的 JAR 檔案的名稱
[-digestalg <演算法>]    摘要演算法的名稱
[-sigalg <演算法>]       簽名演算法的名稱
[-verify]                   驗證已簽名的 JAR 檔案
[-verbose]                  簽名/驗證時輸出詳細資訊
[-certs]                    輸出詳細資訊和驗證時顯示證書
[-tsa <url>]                時間戳機構的位置
[-tsacert <別名>]           時間戳機構的公共金鑰證書
[-altsigner <類>]           替代的簽名機制的類名
[-altsignerpath <路徑列表>] 替代的簽名機制的位置
[-internalsf]               在簽名塊內包含 .SF 檔案
[-sectionsonly]             不計算整個清單的雜湊
[-protected]                金鑰庫已保護驗證路徑
[-providerName <名稱>]      提供者名稱
[-providerClass <類>        加密服務提供者的名稱
  [-providerArg <引數>]] ... 主類檔案和建構函式引數

相關推薦

安裝APKFailure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

簽名Apk後,安裝出現如下錯誤:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] google、百度後發現,JDK8 簽名時需要加上如下兩個引數: -dig

十六、安裝APK錯誤 Failure [INSTALL_CANCELED_BY_USER]

今天在同事的手機上運行了專案的app出現了一個 Failure [INSTALL_CANCELED_BY_USER],意思就是“安裝被使用者取消”整個流程我先附上圖之後我們在說說怎麼解決吧,希望文章對你

ADB安裝,簽名問題,Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

這個問題,到現在還沒有在網上看見答案,經過一段時間的摸索,查閱官方資料,被我發現了原因. 工作環境: androidstudio2.3 jdk1.8 問題描述: 打包簽名,生成app.apk檔案,在安裝app.apk時,總是安裝不成功,提示如下: d:/app.apk: 1

andriod 安裝apk報錯[INSTALL_PARSE_FAILED_NO_CERTIFICATES]

在新公司吧Android studio升級到2.3.1之後,用debug的可以正常安裝,但是打了一個正式版本的apk,卻安裝不了,在手機上安裝直接就是提示未安裝,又用adb命令安裝提示[INSTALL_PARSE_FAILED_NO_CERTIFICATES],知道是簽名問

在Genymotion中安裝apk報錯Failure [INSTALL_FAILED_NO_MATCHING_ABIS]

解決方法: 1、下載 Genymotion-ARM-Translation_v1.1.zip;可以到官網下載 ,如果嫌速度太慢也得可以到百度雲; 2、.執行Genymotion,並start你配置

小米4安裝apk時報錯Unknown failure (Failure

問題:Unknown failure (Failure - not installed for 0) Error while Installing APKs 解決方法: 方法1. 在手機設定裡          設定 -> 更多設定 -> 開發者選項 ->

解決Android Studio編譯後安裝apk報錯Error while Installing APK

剛開始玩 Android ,用Android studio  連線真機做測試,在虛擬機器上沒有問題,但是真機就會報錯 檢查了好多地方,最終發現了問題,網上的常規就不介紹了,大家自己去看別的帖子 手機方面 1.開啟usb除錯 2.開啟usb安全除錯 3.開啟usb安裝(允許通過usb安裝

小米手機安裝apk時 Unknown failure (Failure - not installed for 0) Error while Installing APKs

stackoverflow 原文地址 兩種方法: 1.在手機中禁止MIUI優化 設定->更多設定->開發者選項->啟用MIUI優化,選擇關閉,重啟手機 2.在Android studio的設定中禁止Instant Run File->Setting

android -------- 安裝APK報錯Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE解決方法

記錄一個 DELETE_FAILED_INTERNAL_ERROR Error while Installing APK問題 之前遇到這個問題 方案1 將data/data/目錄下該應用的包名的目錄刪除掉,如:adb shell rm -rf data/data/c

Anbox安裝apk失敗(提示Failure res=-113等)的解決方法

詳細描述,如下(Anbox:如何安裝Google Play商店並啟用ARM(libhoudini)支援,簡單方法): Failed to install PACKAGE.NAME.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to

安裝新版本的apkandroid.os.FileUriExposedException

最近在做app更新升級功能的時候,又碰到因為android 7.0 引起的相容問題了。 android.os.FileUriExposedException: file:///storage/emula

adb 安裝apk Failure [INSTALL_FAILED_VERIFICATION_FAILURE]

mage 裝包 install 可能 shell failed 程序 ref 出現 http://adbshell.com/downloads/ 下載解壓 把執行路徑加入PATH adb 一般安裝程序可以: 出現 Failure [INSTAL

Android PackageManagerService分析三解除安裝APK

這一章我們介紹APK的解除安裝過程,從前一章分析安裝APK的過程,我們應該大致瞭解這裡的解除安裝的過程如下: 1.從PMS的內部結構上刪除acitivity、service、provider等資訊 2.刪除code、library和resource等資訊 3.呼叫insta

Android安裝APK報錯Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE解決方法

           今天除錯一個android應用的時候,安裝報了Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE錯誤,程式碼如下:[2015-12-28 15:54:31 - MainActivity] ----

安裝APK失敗,錯誤程式碼INSTALL_FAILED_INVALID_APK 解決方案

開發環境:Android Studio 在複製了一個專案之後,修改了程式包名,修改了應用程式ID,對程式做了進一步開發之後,發現無法安裝到手機上,錯誤程式碼:installation failed with message failed to finalize sessio

android studio2.3以後給apk簽名打包後安裝失敗的問題[INSTALL_PARSE_FAILED_NO_CERTIFICATES]

自己的Android studio(windows平臺上)剛剛更新到2.3版本,在沒有充分了解它的新變化的情況下,使用的時候難免會遇到一些問題,比如gradle的問題可能是大家最常見的,不過解決的一般思路和之前(例如2.1更新到2.2之類的)沒太大區別,本文要說不是gra

maven項目下載報錯Failure to transfer org.apache.maven:maven-archiver:jar:x.x from https://repo.maven.apache.org/maven...

一個 org pac 倉庫 在線 -1 fail 其他 from 產生原因: maven在線下載時,因網速過慢或者其它網絡原因,下載超時導致此錯誤;maven本地倉庫中的某個構件如果因為網絡或者其他的原因,沒有下載成功或者下載被中斷,將會出現一個LastU

Android adb批量安裝apk、運行monkey

自動化 android monkey 前提:本機已配置好Android環境變量,可以運行adb1、在C盤解壓com.zip(C盤是所有window系統都是存在的)確保解壓後的文件路徑是:C:\com\ffalcon\autorun2、C:\com\ffalcon\autorun\apk,所有待測a

Ubuntu安裝 Alisql編譯安裝步驟

數據庫 script sql char isql bin 配置文件 mysqldb 需要 github地址: https://github.com/alibaba/AliSQL 一、直接git下載保存到本地: git clone https:/

集成jenkins自動安裝apk文件

lis dev self bsp bre lin for 下載 range def get_latest_package(self, path, filename): """ 在Jenkins下載最新的安裝包 """