Android簽名警告提示-tsa或-tsacert此jar沒有時間戳無法安裝
最近用工具發現在編譯之後簽名總提示警告導致APK無法安裝的問題
以前用一直麼有這個問題好像是JDK7的原因吧,後來發現在簽名的時候可以給他一個時間戳的選項
jarsigner -tsa https://timestamp.geotrust.com/tsa -keystore aaaa.keystore
在處理安裝失敗的時候在加上-digestalg SHA1 -sigalg MD5withRSA這句話
最後完整的:
jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -tsa https://timestamp.geotrust.com/tsa -keystore new.keystore -keypass coo -storepass coo -signedjar %1\sign.apk %1\tmp_.apk new.keystore
del %1\tmp_.apk
pause
上面命令是我批處理裡面的命令可以參考一下
正常命令如下
jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -tsa https://timestamp.geotrust.com/tsa -keystore new.keystore -keypass coo -storepass coo -signedjar signed.apk sign.apk new.keystore
signed.apk是簽名之後生成的檔案
sign.apk是沒簽名之前
大家可以看下
jarsigner用法: [選項] jar 檔案別名
jarsigner -verify [選項
[-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 <引數>]] ... 主類檔案和建構函式引數