Android平臺(tái)打包發(fā)布apk應(yīng)用,需要使用數(shù)字證書(shū)(.keystore文件)進(jìn)行簽名,用于表明開(kāi)發(fā)者身份。需確保電腦上安裝了JRE(JRE環(huán)境),我們將使用JRE自帶的創(chuàng)建和管理數(shù)字證書(shū)的工具Keytool,并使用keytool命令生成簽名證書(shū)。
(1) 安裝JRE環(huán)境
- 從Oracle官方下載:jre安裝包
- 建議將JRE安裝路徑添加到系統(tǒng)環(huán)境變量(已配置可跳過(guò)):打開(kāi)命令行(cmd),輸入以下命令
d: set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"
以安裝目錄為“C:\Program Files\Java\jre1.8.0_201”為例
第一行:切換工作目錄到D:路徑
第二行:將jre命令添加到臨時(shí)環(huán)境變量中
(2) 生成簽名證書(shū)(使用keytool -genkey命令)
keytool -genkey -alias mytest -keyalg RSA -keysize 2048 -validity 36500 -keystore mytest.keystore
- -alias mytest 表示證書(shū)的別名是mytest(別名建議使用英文字母和數(shù)字);
- -keyalg RSA 表示采用的RSA算法;
- -validity 36500 表示證書(shū)的有效期是36500 天;
- -keystore mytest.keystore 表示生成的證書(shū),可以加上路徑(默認(rèn)在用戶主目錄下)。
回車后填寫(xiě)相關(guān)信息:

image
以上命令運(yùn)行完成后,就會(huì)生成證書(shū)文件mytest.keystore,可以使用以下命令查看證書(shū)信息:
keytool -list -v -keystore test.keystore

image
備注:生成的證書(shū)文件在cmd工作目錄(用戶主目錄),如上述示例就在 “C:\Users\liy”目錄下。
(3) 云打包—使用自有(私用)證書(shū)配置打包信息

image
- App包名:Android應(yīng)用包名,推薦使用反向域名風(fēng)格的字符串,如“com.domainname.appname”;
- 證書(shū)別名:生成證書(shū)時(shí)使用-alias參數(shù)設(shè)置的證書(shū)別名;
- 私鑰密碼:生成證書(shū)時(shí)使用的keystore密碼;
- 證書(shū)文件:生成證書(shū)時(shí)使用-keystore參數(shù)設(shè)置的證書(shū)保存路徑。
備注:已經(jīng)打好的安裝包,允許開(kāi)發(fā)者在指定天內(nèi)下載指定次數(shù),超時(shí)或超次后服務(wù)器端會(huì)清除文件。
(4) 打包失敗常見(jiàn)原因
- 如果使用自用證書(shū),很可能是證書(shū)配置錯(cuò)誤。
- 如果使用DCloud證書(shū)仍然出錯(cuò),很可能是圖片錯(cuò)誤。所有圖片格式必須是
標(biāo)準(zhǔn)png,且嚴(yán)格符合分辨率要求。使用其他圖片格式重命名為png會(huì)導(dǎo)致打包失敗!
其他錯(cuò)誤:請(qǐng)參考 云打包常見(jiàn)錯(cuò)誤排查指南
備注:2.6.11.20200409優(yōu)化 App 原生App云打包,Android證書(shū)支持選擇以key為后綴的證書(shū)。
。
</article>