此文章只适用与安卓的发布。
最近一个项目,需要做离线查看全景图,就想到了app,不想重新开发系统,于是就是用hbulider打包了项目,但是由于体积过大无法提交,又不熟悉原生打包,于是使用一下方法。
一、打包apk
1、生成 keystore ,用于hbulider打包
keytool -genkey -alias demo.keystore -keyalg RSA -validity 20000 -keystore demo.keystore
2、修改成行业标准格式
keytool -importkeystore -srckeystore demo.keystore -destkeystore demo.keystore -deststoretype pkcs12
3、使用生成的证书打包项目,(由于项目过大,除了首页,将其他页面删除),打包成功后,将apk文件解压 其中源码再 app\assets\apps\H5EC9A4EF\www 文件下,将自己的源码复制到此文件夹下,重新打包成app.zip文件(需要注意的是,如果修改首页需要重新打包。)
4、下载 signapk.jar 地址请去百度搜索
5、使用上面的证书,生成 platform.x509.pem和platform.pk8 文件 生成方法如下
a、 先把KEYSTORE文件转换为PKCS12格式
keytool -importkeystore -srckeystore system.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype PKCS12
b、 将PKCS12 转成PEM 需要用到 openssl (我使用的Linux系统,已经安装)
openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem
c、然后以文本的形式打开tmp.rsa.pem文件
复制“BEGIN CERTIFICATE” “END CERTIFICATE” 到(新建个文件) platform.x509.pem
复制 “BEGIN RSA PRIVATE KEY” “END RSA PRIVATE KEY” 到(新建个文件) private.rsa.pem
d、生成PK8格式的私钥
openssl pkcs8 -topk8 -outform DER -in private.rsa.pem -inform PEM -out platform.pk8 -nocrypt
此时利用 signapk.jar platform.x509.pem、platform.pk8 和 app.zip(上面的打包文件)重新生成apk文件
java -jar platform.x509.pem platform.pk8 app.zip app.apk