android命令行打包、签名+自动打包器
来源:互联网 发布:ios 蜂窝数据开关 快捷 编辑:程序博客网 时间:2024/06/10 06:22
出处:http://blog.csdn.net/chenfeng0104/article/details/7169198
1.创建key: 使用keytool.exe(位于%JAVA_HOME%\bin\keytool.exe)创建xxx.keystore,在命令行输入:
keytool -genkey -alias debug.keystore -keyalg RSA -validity 20000 -keystore debug.keystore
说明:
-genkey 产生密钥
-alias debug.keystore 别名
-keyalg RSA 使用RSA算法对签名加密
-validity 20000 有效期限2000天
-keystore debug.keystore
如果之前创建过xxx.keystore,第一步就可以省略,以后直接使用此xxx.keystore就可以了
2.签名:使用jarsigner.exe(位于%JAVA_HOME%\bin\jarsigner.exe)签名
jarsigner -verbose -keystore debug.keystore -signedjar demo_signed.apk demo.apk debug.keystore
说明:
-verbose 输出签名的详细信息
-keystore debug.keystore 密钥库位置
-signedjar demo_signed.apk demo.apk debug.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed.apk,要签名的文件demo.apk和密钥库demo.keystore
3.对齐:使用zipalign.exe(位于android-sdk-windows\tools\zipalign.exe)对齐
zipalign -v 4 demo_signed.apk demo_signed_aligned.apk
说明:
zipalign能够使apk文件中未压缩的数据在4个字节边界上对齐(4个字节是一个性能很好的值)
如果使用IDE工具开发android,可以通过IDE导出未签名的apk包。因此,知道上面几条命令就可以了。
如果你需要手动打apk包,请看下面打包过程
0.打开cmd,cmd目录
C:\Documents and Settings\user>
1.生成R.java文件
创建gen目录,如果F:\workspace\LBSDemo目录下没有gen目录,运行
mkdir F:\workspace\LBSDemo\gen
运行aapt命令生成R.java文件
aapt.exe package -f -m -J F:\workspace\LBSDemo\gen -S F:\workspace\LBSDemo\res -I H:\android-sdk-windows\platforms\android-7\android.jar -M F:\workspace\LBSDemo\AndroidManifest.xml
2.将.aidl文件转换成.java文件
aidl.exe -pH:\android-sdk-windows\platforms\android-7\framework.aidl F:\workspace\LBSDemo\src\com\lbs\aidl\Remote.aidl F:\workspace\LBSDemo\gen\com\lbs\aidl\Remote.java
3.将java文件编译成class文件
创建bin目录,如果F:\workspace\LBSDemo目录下没有bin目录,运行
mkdir F:\workspace\LBSDemo\bin
运行javac编译java文件
javac -encoding UTF-8 -target 1.5 -bootclasspath H:\android-sdk-windows\platforms\android-7\android.jar -d F:\workspace\LBSDemo\bin F:\workspace\LBSDemo\src\com\baidu\mapapi\*.java F:\workspace\LBSDemo\src\com\lbs\*.java F:\workspace\LBSDemo\src\com\lbs\util\*.java F:\workspace\LBSDemo\gen\com\lbs\R.java F:\workspace\LBSDemo\gen\com\lbs\aidl\Remote.java -classpath F:\workspace\LBSDemo\libs\baidumapapi.jar
4.生成.dex文件
dx.bat --dex --output=F:\workspace\LBSDemo\bin\classes.dex F:\workspace\LBSDemo\bin F:\workspace\LBSDemo\libs
5.生成资源包文件
aapt.exe package -f -M F:\workspace\LBSDemo\AndroidManifest.xml -S F:\workspace\LBSDemo\res -A F:\workspace\LBSDemo\assets -I H:\android-sdk-windows\platforms\android-7\android.jar -F F:\workspace\LBSDemo\bin\resources
6.生成未签名的apk包
apkbuilder.bat F:\workspace\LBSDemo\bin\LBSDemo.apk -v -u -z F:\workspace\LBSDemo\bin\resources -f F:\workspace\LBSDemo\bin\classes.dex -rf F:\workspace\LBSDemo\src -rj F:\workspace\LBSDemo\libs -nf F:\workspace\LBSDemo\libs
7.签名
H: && jarsigner -verbose -keystore debug.keystore -storepass android -signedjar F:\workspace\LBSDemo\bin\LBSDemo_signed.apk F:\workspace\LBSDemo\bin\LBSDemo.apk debug.keystore
签名需要当前目录在keystore目录下,否则出现下面错误
jarsigner: 找不到 H:\demo.keystore 的证书链。
8.对齐
zipalign -v 4 F:\workspace\LBSDemo\bin\LBSDemo_signed.apk F:\workspace\LBSDemo\bin\LBSDemo_signed_aligned.apk
- android命令行打包、签名+自动打包器
- android命令行打包、签名+自动打包器
- android命令行打包、签名+自动打包器
- android自动打包签名
- Android 命令行打包和签名
- Android自动打包之命令行打包
- android apk 自动签名打包 keytool方式
- android签名打包、签名混淆、多渠道打包
- Android studio + Gradle 或 命令行 进行apk签名打包
- android签名打包
- Android应用程序打包签名
- Android应用程序打包签名
- Android 打包签名
- android签名打包
- android签名打包 .
- android 签名、混淆打包
- Android 应用打包签名
- Android应用签名打包
- DIV+CSS中更为见解的清理浮动的方式
- 下一代网络技术,你做好准备了吗
- Mplayer移植
- 为什么中国的程序员总被称为码农?
- Java数组排序Arrays.sort,以及Comparator接口的用法
- android命令行打包、签名+自动打包器
- Android之旅:梦想、学习、坚持、自信、淡定
- jPlayer应用指南(初级应用)
- Madplay音乐播放器移植
- Zedboard-Ubuntu12.04下安装ISE14.4
- boa web服务器移植
- 互联网协议入门( 通俗易懂的网络协议层次结构讲解)
- hdu1058 Humble Numbers
- session_set_save_handler()用法