Android生成签名包以及空白包打签名包「建议收藏」

Android生成签名包以及空白包打签名包「建议收藏」Android生成签名包以及空白包打签名包

大家好,欢迎来到IT知识分享网。

我们都知道当我们开发完一款App之后都将会打包apk发布出去从而成为线上版本。为了防止不法分子恶意操作线上如软件造成不必要的损失我们通常会对apk进行签名加密处理。每一个App都会有唯一的签名,就像身份证一样,在有些平台下线上版本更新时会要求我们上传签名apk以便核实,比如应用宝,搜狗平台。。。

那么今天我们就来看看签名包的打法。我们开发人员平时调试的时候也在使用签名包,它是根据开发环境会在C:\Users\”username”\.android下生成一个debug.keystore签名文件,另外我们要注意:项目右键->Export->Export Android Application和项目右键->Android Tools->Export sign…../Export unsign……这两种方式是采用不同的机制签名的,如果想发布要选择第二种方式,第二种方式还可以通过manifest.xml文件实现,见下图:

Android生成签名包以及空白包打签名包「建议收藏」

具体界面化操作不在此贴出,比较直接了当,下面我们来采用一种命令行的方式(JDK提供)实现上述界面化的操作,加深界面化操作的理解。

1.首先我们cmd到jdk的bin根目录,如果是win7系统的话在bin目录下按住shift + 鼠标右键选择“在此处打开命令行”

Android生成签名包以及空白包打签名包「建议收藏」

我们主要使用到的批处理文件是keytool、jarsigner和zipalign,具体API可以通过其对应的-help查看,我这里会给出两篇博客供参考,其实我们也就经常使用以下命令

①:keytool -genkey -v -keyalg DSA -keysize 1024 -sigalg SHA1withDSA  -validity 20000  -keystore haha.keystore -aliasheihei

上面的有些参数可以不写的比如-keyalg DSA -keysize 1024 -sigalg SHA1withDSA  这是因为JDK1.7之后对算法做了修改,参考会有说明。

然后会让我们填写一些内容在当前目录下去创建“haha.keystore”

Android生成签名包以及空白包打签名包「建议收藏」

②.jarsigner -verbose -keystore haha.keystore -signedjar sign.apk unsign.apk heihei

可以通过这个命令对apk进行签名打包,我们需要将unsign.apk也放到bin目录下,heihei是你的alias也就是在UI可操作界面里面的

Android生成签名包以及空白包打签名包「建议收藏」

然后就会出现

Android生成签名包以及空白包打签名包「建议收藏」

会在bin目录下生成sign.apk,它就是某些安卓市场要的空签名包

③.zipalign -v 4 sign.apk Sign_Release.apk

对其工具命令行,此工具可确保所有未压缩的数据开始于一个特定的字节对齐,相对于文件的开始。当一个设备上安装,确保对齐在4字节边界提供了性能优化。当对齐,Android系统能够读取文件使用mmap(),即使它们包含与对齐限制二进制数据,而不是复制所有从包中的数据的。其好处是在RAM中的运行应用程序所消耗的量减少。

参考文章:

【keytool jarsigner工具的使用】Android 使用JDK1.7的工具 进行APK文件的签名,以及keystore文件的使用 – ayanmw – 博客园

Android学习——查看apk签名 和 keystore 的信息_积跬步_图腾的博客-CSDN博客

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/26181.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信