{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
1.生成androidapk包签名证书
1).在doc中切换到jdk的bin目录
cdc:programfilesjavajdk1.6.0_18bin
2).运行下面的命令
keytool–genkey–aliasandroid123.keystore–keyalgrsa–validity20000–keystoreandroid123.keystore
/*解释:keytool工具是javajdk自带的证书工具
-genkey参数表示:要生成一个证书(版权、身份识别的安全证书)
-alias参数表示:证书有别名,-aliasmine.keystore表示证书别名为:mine
-keyalgrsa表示加密类型,rsa表示需要加密,以防止别人盗取
-validity20000表示有效时间20000天(k3
-keystoremine123.keystore表示要生成的证书名称为mine123
*/
输入完回车后屏幕显示::a4x:o.i5i
输入keystore密码:[密码不回显](一般建议使用20位,最好记下来后面还要用)
再次输入新密码:[密码不回显](o'^$_(f(k&i0
您的名字与姓氏是什么?
[unknown]:lili#e#c/z!o)i;k6r7m-
您的组织单位名称是什么?
[unknown]:snoopy'|3v&i!_/l
您的组织名称是什么?
[unknown]:snoopyteam
您所在的城市或区域名称是什么?)l#v'|.e0f;{
[unknown]:beijing
您所在的州或省份名称是什么?
[unknown]:beijing
该单位的两字母国家代码是什么
[unknown]:cn-m.~1w.i0
cn=lili,u=snoopy,o=snoopyteam,l=beijing,st=beijing,c=cn正确吗?
[否]:y
输入
(如果和keystore密码相同,按回车):
查看c:programfilesjavajdk1.6.0_18bin,生成了以后签名用的证书key:mine123.keystore
2.删除之前的签名文件
1).用解压工具解压缩apk文件(如:解压到d:signphonebook)
压缩包内容解析:
(1)meta-inf目录:存放签名后的cert和manifest文件,用于识别软件的签名及版权。
(2)res目录:存放各种android原始资源,包括:动画anim、图片drawable、布局layout、menu菜单、xml等等
(3)androidmanifest.xml编码后的android项目描述文件,包括了android项目的名称、版本、权限、程序组件描述等等
(4)classes.dex编译后class被dx程序转换成dalvik虚拟机的可执行字节码文件
(5)qresources.arsc所有文本资源的编译产物,里面包含了各location对应的字符串资源。
2).找到下面的目录meta-inf,删除目录meta-inf
3).将phonebook整个文件夹用zip工具,重新打包成zip压缩包,然后更改后缀为apk(注意:产生的phonebook.zip中没有二级根目录)
3.重新签名apk文件
1).将证书复制到与需要重新签名的apk文件相同的目录下(如:复制到d:sign)
2).在doc中切换到需要重新前面的apk文件的目录下
cdd:sign
3).运行下面的命令
jarsigner–verbose–keystoremine123.keystore–signedjarphonebook_signed.apkphonebook.apkmine.keystore
/*解释:*^,{&k1z.m*p/m+k5n5hjarsigner是java的签名工具#k8~%s#y.@6p
-verbose参数表示:显示出签名详细信息
-keystore表示使用当前目录中的mine123.keystore签名证书文件。
-signedjarphonebook_signed.apk表示签名后生成的apk名称,%v!a7e2v4w#];gphonebook.apk表示未签名的apkandroid软件,mine.keystore表示别名
*/
输入完回车后屏幕如下图显示:
查看d:sign目录,已生成重新签名后的phonebook_signed.apk文件