android命令行打包、签名+自动打包器
2014-07-03 23:20
274 查看
出处:http://blog.csdn.net/chenfeng0104/article/details/7169198
1.创建key: 使用keytool.exe(位于%J***A_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(位于%J***A_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
1.创建key: 使用keytool.exe(位于%J***A_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(位于%J***A_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命令行打包、签名+自动打包器
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本) .
- Android自动打包、签名、优化、上传ANT脚本
- Android使用Ant自动编译签名打包详解
- Windows系统下Ant自动编译打包并签名Android应用——探索篇
- Android自动打包、签名、优化、上传ANT脚本
- (转)Android自动打包、签名、优化、上传ANT脚本
- Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包
- Android 自动编译、打包生成apk文件 1 - 命令行方式
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
- android 应用 Ant脚本自动编译、打包、代码混淆、签名、安装等
- Android自动打包、签名、优化、上传ANT脚本
- Android 自动化发布—采用Ant打包的完美实现:编译、合并、签名、混淆、优化、自动运行
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
- 【Android】打包过程:生成自动代码->编译->(混淆)->dex文件->生成资源文件->打apk包->(签名)->对齐
- Android 自动编译、打包生成apk文件 1 - 命令行方式
- [Android] mac上申请签名及使用ant自动编译打包签名APK
- Android 命令行打包和签名
- android apk 自动签名打包 keytool方式