1.生成R文件
aapt package -f -m -J ./gen -S res -M AndroidManifest.xml -I D:adt-bundle-windows-x86_64-20131115sdkplatformsandroid-19android.jar
-f 如果編譯生成的文件已經存在,強制覆蓋。
-m 使生成的包的目錄存放在-J參數指定的目錄
-J 指定生成的R.java 的輸出目錄路徑
-S 指定res文件夾的路徑
-I 指定某個版本平台的android.jar文件的路徑
-A 指定assert文件夾的路徑
2.生成class文件
javac -bootclasspath D:adt-bundle-windows-x86_64-20131115sdkplatformsandroid-19android.jar -d bin srccomexamplehello*.java gencomexamplehelloR.java
-target <版本> 生成特定 VM 版本的類文件
-bootclasspath <路徑> 覆蓋引導類文件的位置
-d <目錄> 指定存放生成的類文件的位置
-sourcepath <路徑> 指定查找輸入源文件的位置
3.打成jar包
cd bin
jar cvf hello.jar *
4.生成dex文件
cd ..
dx --dex --output=binclasses.dex binhello.jar
--output=<要生成的classes.dex路徑> <要處理的class文件的路徑>
5.打包資源
aapt package -f -M AndroidManifest.xml -S res -I D:adt-bundle-windows-x86_64-20131115sdkplatformsandroid-19android.jar -F bin esources.ap_
-f 如果編譯生成的文件已經存在,強制覆蓋
-M 指定AndroidManifest.xml的路徑
-S 指定res文件夾路徑
-I 指定某個版本平台的android.jar的路徑
-F 指定輸出文件完整路徑
6.生成apk
java -cp D:adt-bundle-windows-x86_64-20131115sdk oolslibsdklib.jar com.android.sdklib.build.ApkBuilderMain hello.apk -v -u -z bin esources.ap_ -f binclasses.dex -rf src
-v Verbose 顯示過程信息
-u 創建一個無簽名的包
-z 指定apk資源路徑
-f 指定dex文件路徑
-rf 指定源碼路徑
7.對apk進行簽名,這裡使用了Auto-sign工具
cd ../../Auto-sign
java -jar signapk.jar testkey.x509.pem testkey.pk8 ../命令行打包/hellodemo/hello.apk ../命令行打包/hellodemo/hellosign.apk
參考:http://blog.csdn.net/androiddevelop/article/details/10948639