Android 打包Apk

来源:互联网 发布:天刀捏脸男数据网盘 编辑:程序博客网 时间:2024/06/14 14:07

   开发Android应用,我们总是免不了需要打包Apk,不管你使用的Ide是Android Sutido还是Eclipse,打包都比较简单。我们都知道Eclipse的签名文件是keystore文件,而Android Sutido的签名文件是jks文件。两种的签名文件不一样。

    假设有这样一种情况,你有一个较老的应用,是用Eclipse开发的,目前还在维护,但是打包用的密钥和别名等需要用新的签名文件,并且是用Android Sutido创建的jks文件。要求,你使用这个jks文件对Eclipse开发的应用打包。那有没有办法解决这个问题呢?必须拿下!得意

    有两种方法:

(1)使用Eclipse直接打包,在签名的时候选择jks文件以及输入秘钥库的密码和秘钥口令,然后坐等打包完成!就是这么简单!

(2)使用命令打包。下面详细描述使用命令打包。

    命令打包需要使用jarsigner来打包。

   jarsigner 是jdk提供的,位于jdk的bin目录中。jarsigner 利用密钥仓库中的信息来产生或校验 Java 存档 (JAR) 文件的数字签名。签名命令:

jarsigner -verbose -keystore test.keystore -signedjar E:\qianming\signed.apk E:\qianming\unsigned.apk test
参数说明:
1. -verbose:指定生成详细输出,
2. -keystore:指定数字证书存储路径,
3. -signedjar:该选项的三个参数为 签名后的apk包 未签名的apk包 数字证书别名(注意顺序)。

‘test.keystore’  签名文件的全路径名,

‘E:\qianming\signed.apk’  签名后的apk包,

‘E:\qianming\unsigned.apk’ 未签名的apk包,

‘test’ 别名。

在dos中输入如下命令,


按照提示分别输入秘钥库的密码和秘钥口令,稍等片刻,提示打包成功!


然后在当时输入的命令‘签名后的apk包’目录中去找生成签名Apk,



打包成功!微笑

PS: 

1. 主要讲解的是使用jks文件签名,当然,你也可以把jks文件换为keystore (eclipse签名文件)文件,使用jarsigner 签名!

2. 也许有的人还有疑问,使用Eclipse开发Android,应用默认是使用debug.key签名的,那么如何生成一个未签名的应用呢!

    介绍一种比较简单、实用的方法。在Eclipse的bin目录中有一个apk,该apk已经使用debug.key签名,修改为'rar'格式的压缩包,然后使用解压工具直接打开(记住不要解压再打开),删除里面的META-INF目录,再将后缀名改为apk就完成了!(META-INF目录,这个里边存储的是关于签名的一些信息)

0 0
原创粉丝点击