命令行给apk打签名

1.将需要签名的apk包和签名文件xxx.keystore放到jdk中的bin目录下面。mac系统下面为:/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin 目录下面。
2.打开终端切换到bin目录下面。
3.输入命令
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore xxx.keystore -signedjar /Users/lc/Desktop/sign.apk xxx.apk keyAlias
输入命令后生成的sign.apk就是生成的签名的apk包。这个包的路径需要指定下,我指定的是mac系统的桌面上。
说明:
-verbose:指定生成详细输出
-keystore:指定数字证书存储路径
-signedjar:该选项的三个参数为 /Users/lc/Desktop/sign.apk 是签名后该路径下面的apk包 xxx.apk为未签名的apk包 keyAlias(别名)gradle配置文件中signingConfigs中的字段对应的值。

注意:打包完成后可能用adb install命令装上会报错Failure [INSTALL_FAILED_INVALID_APK]
因为需要在原有的apk文件中需要把META-INF文件夹删除,这个文件夹是个签名文件夹。所以先把原来的签名文件删除在打就可以了。需要在windows系统下面用zip工具删除。切忌不是解压出来删除,而是右键属性中有个查看文件的功能。然后从里面删除就可以了。

你可能感兴趣的:(android)