百度應(yīng)用平臺(tái)認(rèn)領(lǐng)應(yīng)用需要下載空包APK,對(duì)其進(jìn)行簽名再上傳,已重新上傳應(yīng)用。
需要在 Java 環(huán)境下運(yùn)行代碼。
第一次我是直接在 jdk/bin 下執(zhí)行的(將需要簽名的空包 unsigned.apk 放到 bin 目錄下)
代碼如下:
jarsigner -verbose -keystore secret_key.keystore -signedjar signed.apk unsigned.apk alias
參數(shù):
-jarsigner bin 目錄下的jar包
-verbose 顯示輸出動(dòng)作
-keystore 密鑰庫(kù)位置 我這里將 secret_key.keystore 秘鑰文件放到 bin 目錄下,所以直接寫(xiě)秘鑰文件名稱(chēng)
-signedjar signed.apk unsign.apk alias 三個(gè)參數(shù)依次為:簽名后的apk 未簽名的apk 別名
第二次是在 bin 目錄外邊的,不用將需要的秘鑰和apk空包放到bin目錄下
jarsigner -verbose -keystore D:\secretKey\secret_key.keystore -signedjar F:\xunlei\signed.apk -digestalg SHA1 -sigalg MD5withRSA F:\xunlei\Baidu_Claim_unsigned.apk alias
新增參數(shù):
-digestalg 摘要算法的名稱(chēng)
-sigalg 簽名算法的名稱(chēng)
jarsigner命令的一些選項(xiàng)
[-signedjar <文件>] 已簽名的 JAR 文件的名稱(chēng)
[-verbose] 簽名/驗(yàn)證時(shí)輸出詳細(xì)信息
[-keystore ] 密鑰庫(kù)位置
[-digestalg <算法>] 摘要算法的名稱(chēng)
[-sigalg <算法>] 簽名算法的名稱(chēng)
[-storepass <口令>] 用于密鑰庫(kù)完整性的口令
[-storetype <類(lèi)型>] 密鑰庫(kù)類(lèi)型
[-keypass <口令>] 專(zhuān)用密鑰的口令(如果不同)
[-sigfile <文件>] .SF/.DSA 文件的名稱(chēng)
[-verify] 驗(yàn)證已簽名的 JAR 文件
[-certs] 輸出詳細(xì)信息和驗(yàn)證時(shí)顯示證書(shū)
[-tsa ] 時(shí)間戳機(jī)構(gòu)的位置
[-tsacert <別名>] 時(shí)間戳機(jī)構(gòu)的公共密鑰證書(shū)
[-altsigner <類(lèi)>] 替代的簽名機(jī)制的類(lèi)名
[-altsignerpath <路徑列表>] 替代的簽名機(jī)制的位置
[-internalsf] 在簽名塊內(nèi)包含 .SF 文件
[-sectionsonly] 不計(jì)算整個(gè)清單的散列
[-protected] 密鑰庫(kù)已保護(hù)驗(yàn)證路徑
[-providerName <名稱(chēng)>] 提供者名稱(chēng)
[-providerClass <類(lèi)>] 加密服務(wù)提供者的名稱(chēng)
[-providerArg <參數(shù)>] … 主類(lèi)文件和構(gòu)造函數(shù)參數(shù)