Android打包签名

时间:2023-03-09 04:21:41
Android打包签名

Ⅰ、用jdk和sdk自带工具打包签名

a.把jdk下的keytool.exe和jarsigner.exe所在目录(两个工具在同一目录) 添加到环境变量path

1)新建环境变量package,package的值为C:\Program Files\Java\jdk1.8.0_25\bin

2)将package添加到path中,在path值最后添加%package%;(若原先末尾没有;,则添加“;%package%;”)

b.通过keytool.exe 工具来创建keystore库.

1)cmd下输入命令

keytool -genkey -alias zzj -keyalg RSA -validity 3000 -keystore D:\fans\zhuzhoujia.keystore

-genkey:生成数字证书

-alias:数字证书别名,这里指定了别名zzj

-keyalg:指定生成数字证书的算法,这里指定了RSA算法

-validity:数字证书的有效期,这里指定了3000天

-keystore:指定数字证书的存储路径和数字证书的名称,这里指定了D:\fans\zhuzhoujia.keystore

Android打包签名

c.从eclipse或Android Studio中导出一个未签名的apk

1)以eclipse为例,在工程上右键,Adnroid Tool -> Export Unsigned Application Package,选定保存路径后保存

d.使用jarsigner工具对未签名的APK安装包进行签名

1)cmd下输入命令

jarsigner -verbose -keystore D:\fans\zhuzhoujia.keystore -signedjar D:\fans\Zhuzhoujia+.apk D:\fans\Zhuzhoujia.apk zzj

-verbose:指定生成详细输出

-keystore:数字证书的完整路径

-signedjar:三个参数,分别为签名后的apk存储路径及apk名称、未签名的apk所在路径及apk名称、数字证书的别名

e.把sdk下的zipalign.exe所在目录添加到环境变量path(sdk\build-tools下有多个不同版本号文件夹,每个文件夹下都有一个zipalign.exe,随便用哪个都可以)

1)新建环境变量sdk_zipalign,我这里将D:\eclipse_with_adt\eclipse\sdk\build-tools\20.0.0作为sdk_zipalign的值

2)将sdk_zipalign增加到path,在path值最后添加%sdk_zipalign%;(若原先末尾没有;,则添加“;%sdk_zipalign%;”)

f.使用zipalign.exe优化签名后的apk安装包

1)cmd下输入命令

zipalign -f -v 4 D:\fans\Zhuzhoujia+.apk D:\fans\株洲+.apk

-f  :指定强制覆盖已有文件

-v  指定生成详细输出

4:指定档案整理基于的字节数

D:\fans\Zhuzhoujia+.apk:这个是优化前的apk所在路径及名称

D:\fans\株洲+.apk:这个是优化后的apk保存路径及名称

Ⅱ、使用eclipse打包签名

a.生成密钥库及用生成的密钥库给完成签名

1)在工程上右键,Export -> Android -> Export Android Application -> Next -> Next -> Create new keystore

2)确定密钥库存储位置及文件名,输入密码,finish

3)填写密钥库信息,finish

4)确定签名后的apk的输入路径及apk文件名,finish

b.若已有密钥库,可直接签名

1)在工程上右键,Export -> Android -> Export Android Application -> Next -> Next -> Use existing keystore

2)填写密钥库的密码

3)填写密码

4)定签名后的apk的输入路径及apk文件名,finish

c.使用zipalign.exe优化签名后的apk安装包,方法同上。

Ⅲ、使用Android Studio打包签名

a.生成密钥库并使用密钥库打包签名

1)菜单栏,Build -> Generate Signed APK -> Create new… 填写密钥库信息,输入密码,-> Next

2)选择输出路径,finish

b.使用zipalign.exe优化签名后的apk安装包,方法同上。