自动编译 打包 签名 android程序
//第一步 生成R.java 文件
aapt package -f -m -J D:/workspace/a16/gen -S D:/workspace/a16/res -M AndroidManifest.xml -I D:/java/Android/android-sdk_r21.0.1-windows/android-sdk-windows/platforms/android-8/android.jar
//第二步:使用javac编译java文件
javac -encoding utf-8 -target 1.5 -d D:/workspace/a16/bin/classes/ D:/workspace/a16/src/com/example/a16/*.java D:/workspace/a16/gen/com/example/a16/*.java -bootclasspath D:/java/Android/android-sdk_r21.0.1-windows/android-sdk-windows/platforms/android-8/android.jar
//第三步:class文件已经生成,使用dx工具将所有class打包生成dex文件。(注意使用绝对路径)
dx.bat --dex --output=D:/workspace/a16/bin/classes.dex D:/workspace/a16/bin/classes/ D:/workspace/a16/libs/android-support-v4.jar
//第四步:dex已经有了,但这些都是java文件编译而成。所以还需要将对应的资源文件打包生成resources.ap_ 文件。依然使用aapt工具
aapt package -f -M AndroidManifest.xml -S D:/workspace/a16/res -A D:/workspace/a16/assets -I D:/java/Android/android-sdk_r21.0.1-windows/android-sdk-windows/platforms/android-8/android.jar -F bin/resources.ap_
//第五步:将resource和dex封装到一起。生成未签名apk文件。使用apkbuilder工具
apkbuilder D:/workspace/a16/bin/unsigned.apk -u -z D:/workspace/a16/bin/resources.ap_ -f D:/workspace/a16/bin/classes.dex -rf D:/workspace/a16/src/
//第六步:对未签名的apk进行签名。使用jarsigner 工具
jarsigner -storepass 100200 -keypass 100200 -keystore D:/Android/keyStore/zhwl.keystore -signedjar D:/workspace/a16/bin/a16.apk D:/workspace/a16/bin/unsigned.apk zhwltqj