apk文件签名之命令行法
来源:互联网 发布:linux启动stage1.5 编辑:程序博客网 时间:2024/06/05 23:09
使用java工具对apk签名[文库]
http://wenku.baidu.com/link?url=osV5Olw-JGUl4Mge7BHGHYhjKZo2g2lWUAafqSTUQNda6jA2ialgKEQAh84Vv4jUn9G1ppxhduBTaOkXtooA574Rg-CPKdvzLofQC9dEwBS原址:
http://blog.csdn.net/jesusjzp/article/details/7922451
导出apk文件:
如下图所示,导出apk文件。不要从源代码/bin文件里面找apk文件,那个是加入了debug签名的,不是我们需要的unsigned apk。
命令行进行签名:
第一步:
Apk签名首先要有一个.keystore的签名用的文件。这个keystore是由jdk自带的工具keytool生成的,具体生成方式参考一下:
开始->运行->cmd->cd 到你安装的jdk的目录这里我是 D:\Program Files\Java\jdk1.7.0_05\bin
然后输入:
开始->运行->cmd->cd 到你安装的jdk的目录这里我是 D:\Program Files\Java\jdk1.7.0_05\bin
然后输入:
- keytool -genkey -alias JFrench.keystore -keyalg RSA -validity 1000000 -keystore JFrench.keystore
-alias 后跟的是别名这里是 asaiAndroid.keystore
-keyalg 是加密方式这里是 RSA
-validity 是有效期 这里是 20000
-keystore 就是要生成的keystore的名称 这里是 JFrench.keystore
然后按回车
按回车后首先会提示你输入密码:这个在签名时要用的要记住了哦。
然后会再确认你的密码。
之后会依次叫你输入 姓名,组织单位,组织名称,城市区域,省份名称,国家代码等。
示例如下图:
第二步:
在 D:\Program Files\Java\jdk1.7.0_05\bin 还提供一个工具 jarsigner.exe
好现在可以在刚才的命令行后继续运行以下命令给APK签名:
好现在可以在刚才的命令行后继续运行以下命令给APK签名:
- jarsigner -verbose -keystore JFrench.keystore -signedjar JFrench_signed.apk JFrench.apk JFrench.keystore
JFrench.apk 是签完名后的APK
JFrench.apk 是签名前的apk
然后按回车:会要求输入刚才设置的密码,输入后按回车就开始签名了。
如下图:
最后就能在bin目录下面找到JFrench_sighed.apk文件了。
第三步:
用zipalign(压缩对齐)优化你的APK文件。未签名的apk不能使用,也不能优化。签名之后的apk谷歌推荐使用zipalign.exe(位于android-sdk-windows\tools目录下)工具对其优化:
D:\>zipalign -v 4 JFrench_signed.apk JFrench_signed_zipaligned.apk
如上,zipalign能够使apk文件中未压缩的数据在4个字节边界上对齐(4个字节是一个性能很好的值),这样android系统就可以使用mmap()(请自行查阅这个函数的用途)函数读取文件,可以在读取资源上获得较高的性能,
PS:1.在4个字节边界上对齐的意思就是,一般来说,是指编译器吧4个字节作为一个单位来进行读取的结果,这样的话,CPU能够对变量进行高效、快速的访问(较之前不对齐)。
2.对齐的根源:android系统中的Davlik虚拟机使用自己专有的格式DEX,DEX的结构是紧凑的,为了让运行时的性能更好,可以进一步用"对齐"进一步优化,但是大小一般会有所增加。
例如:
jarsigner -verbose -keystore /Users/li/releasekey.keystore -signedjar/Users/li/Documents/DS.apk /Users/li/Documents/DS.protected.unsigned.apk bieming
- apk文件签名之命令行法
- apk文件签名之命令行法
- apk文件签名之命令行法
- 使用命令行对APK签名(已有签名文件)
- Android 签名之使用命令行给apk签名
- 命令行 给apk 签名
- 命令行验证apk签名
- android 命令行签名apk
- apk利用命令行签名
- 命令行签名apk
- 重新签名apk文件(手工用命令行)
- 重新签名apk文件(手工用命令行)
- 使用命令行对apk文件进行二次签名
- Android开发之使用Ant命令行编译和APK签名
- Android之Keystore文件签名(获取查看apk签名)
- Android之Keystore文件签名(获取查看apk签名)
- Android之Keystore文件签名(获取查看apk签名)
- Android之Keystore文件签名(获取查看apk签名)
- JS判断 不能为空
- /etc/ld.so.conf详解
- (转帖)总结我这10年来的创业吐血经验
- eclipse从svn上以project形式checkout,检出后文件为空心J,而不是java文件的实心J。
- Version 1.4.2_03 of the JVM not suitable for this product.Version1.5 or geeater
- apk文件签名之命令行法
- Server JBoss v5.0 at localhost was unable to start within 50 seconds.
- 编译器错误C999 到 C4999查询详解(整理在此,方便以后查询)
- java, user thread,deamon thread
- Java Thread(线程)案例详解sleep和wait的区别
- javac java package
- 转 北美求职记
- 新浪微博数据库是如何设计的
- Maven 安装