ionic Android打包签名问题
1、一般情况下ionic build Android 然后 打包好的Android-debug是可以安装在手机上测试的,但是传到应用商城上,每台电脑打包出来的安卓签名不一样
以下为我的解决方案
2、需安装ant
ant下载地址: ant.apache.org/bindownload.cgi
ANT环境变量设置好
在cmd命令方式下输入:ant -version 若提示:
“Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib”;
将“........\Java\jdk1.6.0_16\lib”目录下的tools.jar文件拷贝到
“........\Java\jre6\lib”目录下,
重新运行命令ant
输出: Buildfile:build.xml does not exist!
Build failed
运行正常,
3、cmd执行 ionic build android -release
生成的apk包还需要签名改名字为demo.apk
4、在platforms/android目录下生成 keystore文件,不可粘贴到该目录下,而是直接生成
D:\>keytool -genkey -alias mykey -keyalg RSA -validity 40000 -keystore demo.keystore
说明:-genkey 产生密钥
-alias mykey 别名 mykey
-keyalg RSA 使用RSA算法对签名加密
-validity 40000 有效期限4000天
-keystore demo.keystore
5、在platforms/android 目录下创建一个release-signing.properties
填入你的信息:
signingConfigs {
release {
keyAlias =别名
storePassword =store密码
keyPassword =key密码
storeFile =keystore文件的地址
}
}
比如我的是:
signingConfigs {
release {
keyAlias =mykey
storePassword =shuzhong
keyPassword =shuzhong
storeFile =demo.keystore
}
}
6、若没有配置release-signing.properties
jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
说明: -verbose 输出签名的详细信息
-keystore demo.keystore 密钥库位置
-signedjar demor_signed.apk demo.apk demo.keystore 正式签名
,三个参数中依次为签名后产生的文件demo_signed
,要签名的文件demo.apk和密钥库demo.keystore.
7、我已经配置了release-signing.properties所以直接执行
ionic build Android -release即可
8、查看签名信息
1、查看keystore的信息
复制代码 代码如下:
keytool -list -keystore demo.keystore -alias mykey -v
2、查看keystore的公钥证书信息
复制代码 代码如下:
keytool -list -keystore demo.keystore -alias mykey -rfc
(注:获取Base64格式的公钥证书,RFC 1421)
3、查看apk的签名信息
复制代码 代码如下:
jarsigner -verify -verbose -certs <your_apk_path.apk>