Android生成签名包以及空白包打签名包

我们都知道当我们开发完一款App之后都将会打包apk发布出去从而成为线上版本 。为了防止不法分子恶意操作线上如软件造成不必要的损失我们通常会对apk进行签名加密处理 。每一个App都会有唯一的签名,就像身份证一样,在有些平台下线上版本更新时会要求我们上传签名apk以便核实,比如应用宝,搜狗平台 。。。
那么今天我们就来看看签名包的打法 。我们开发人员平时调试的时候也在使用签名包,它是根据开发环境会在C:\Users\""\.下生成一个debug.签名文件,另外我们要注意:项目右键->->和项目右键-> Tools-> sign...../ ......这两种方式是采用不同的机制签名的,如果想发布要选择第二种方式,第二种方式还可以通过.xml文件实现,见下图:

Android生成签名包以及空白包打签名包

文章插图
具体界面化操作不在此贴出,比较直接了当,下面我们来采用一种命令行的方式(JDK提供)实现上述界面化的操作,加深界面化操作的理解 。
1.首先我们cmd到jdk的bin根目录,如果是win7系统的话在bin目录下按住shift + 鼠标右键选择“在此处打开命令行”
Android生成签名包以及空白包打签名包

文章插图
我们主要使用到的批处理文件是、和,具体API可以通过其对应的-help查看,我这里会给出两篇博客供参考,其实我们也就经常使用以下命令
Android生成签名包以及空白包打签名包

文章插图
①: - -v - DSA - 1024 -- 20000 - haha. -
上面的有些参数可以不写的比如- DSA - 1024 -这是因为JDK1.7之后对算法做了修改,参考会有说明 。
然后会让我们填写一些内容在当前目录下去创建“haha.”
Android生成签名包以及空白包打签名包

文章插图
②. - - haha.- sign.apk .apk
可以通过这个命令对apk进行签名打包,我们需要将.apk也放到bin目录下,是你的alias也就是在UI可操作界面里面的
Android生成签名包以及空白包打签名包

文章插图

Android生成签名包以及空白包打签名包

文章插图
然后就会出现
Android生成签名包以及空白包打签名包

文章插图
会在bin目录下生成sign.apk,它就是某些安卓市场要的空签名包
③. -v 4 sign.apk .apk
对其工具命令行,此工具可确保所有未压缩的数据开始于一个特定的字节对齐,相对于文件的开始 。当一个设备上安装,确保对齐在4字节边界提供了性能优化 。当对齐,系统能够读取文件使用mmap(),即使它们包含与对齐限制二进制数据,而不是复制所有从包中的数据的 。其好处是在RAM中的运行应用程序所消耗的量减少 。
参考文章:
【 工具的使用】 使用JDK1.7的工具 进行APK文件的签名,以及文件的使用 -- 博客园
【Android生成签名包以及空白包打签名包】学习——查看apk签名 和的信息_积跬步_图腾的博客-CSDN博客