在Eclipse中对Android应用签名
大部分时候,开发者会直接在Eclipse中对Android应用签名,在Eclipse中对Android应用签名的步骤如下。
①右击Android项目,"AndroidTools→ExportSignedApplicationPackage..."菜单项。
②如果系统中开没有数字证书,可以再窗口中选中"Createnewkeystore"单选按钮,并按格式填写数字证书的存储路径和密码。
③完成后单击"Next"按钮,出现的窗口让用户填写数字证书的详细信息
④数字证书填写详细信息后单击"Next"按钮,窗口,用于指定生成签名后的APK安装包的存储路径。
⑤"Finish"按钮,签名完成
利用已有的数字证书进行签名,请按如下步骤进行。
①窗口中选中"Useexistingkeystore",并使用前面创建的数字证书
②选中前面创建的keystore,并输入创建keystore时指定的密码,然后单击"Next"按钮
③输入创建该key时的指定的密码。然后单击"Next"按钮,窗口指定签名后APK包的存储路径,最后单击"Finish"按钮即可生成签名后的APK
使用命令对APK包签名
①创建keystore库。JDK的安装目录下的bin子目录下提供了keytool.exe工具来生成数字证书。在命令行窗口输入如下命令:
keytool-genkeypair-aliascrazyit.keystore-keyalgRSA-validity400-keystorecrazyit.keystore
上面命令中各选项说明如下。
-genkeypair:指定生成数字证书
-alias:指定生成数字证书的别名
-keyalg:指定生成数字证书的算法。使用RSA算法。
-validity:指定生成的数字证书的有效期。
-keystore:指定所生成的数字证书的存储路径。
输入上面命令后按回车键,接下来将会以交互方式让用户输入数字证书keystore的密码、作者、公司等详细信息
②生成未签名的APK安装包。在Eclipse中右击Android项目,单击"AndroidTools→ExportUnsignedApplicationPackage..."菜单项,Eclipse弹出一个保存文件的对话框,当用户选择存储文件后单击"Finish"按钮即可生成一个未签名的APK安装包。
③使用jarsigner命令对未签名的APK安装包进行签名。JDK的安装目录下的bin子目录下提供了jarsigner.exe工具进行签名。在命令行窗口输入如下命令:
jarsigner-verbose-keystorecrazyit.keystore-signedjarHelloWorld_crazyit.apkHelloWorld.apkcrazyit.keystore
上面的命令中各选项说明如下。
-verbose:指定生成详细输出。
-keystore:指定数字证书的存储路径
-signedjar:该选项的三个参数分别为签名后的APK包、未签名的APK包、数字证书的别名。
输入上面命令后按回车键,接下来将会以交互式方式让用户输入数字证书keystore的密码
④使用zipalign.exe工具优化APK安装包。zipalign.exe是Android自带的一个档案整理工具,它可用于优化APK安装包,从而提升Android应用与系统之间的交互效率,提升应用程序的运行速度。在命令行窗口输入如下命令:
zipalign-f-v4HelloWorld_crazyit.apk
HelloWorld_crazyit.apk
上面的命令中各选项说明如下。
-f:指定强制覆盖已有的文件。
-v:指定生成详细输出。
4:指定档案整理所基于的字节数,通常指定为4,也就是基于32位进行整理。
HelloWorld_crazyit.apk和HelloWorld_crazyit_zip.apk分别指定整理前的APK和整理后生成的APK。
运行上面命令,将会再当前目录下生成一个HelloWorld_crazyit_zip.apk文件,这就是签名完成且经过优化的APK安装包,该安装包可以对外发布了。