在命令行中编译Eclipse 中的整个工程:
用命令行模拟eclipse中Android Project编译流程
1、新建一个Android Project,目前的目录结构如下图:
2、点击右键,Build Project,此时的目录结构如下图:
此时gen目录下产生了R.java,bin目录在工程目录中,显示如上,没有任何内容;但是在终端查看,内容有改变,如下:
只剩下一个classes文件夹,此文件夹为空
对应的命令:
在工程目录下执行如下代码:
生成R文件:
aapt p -f -m -J gen -S res -I ~/android-sdk-linux/platforms/android-18/android.jar -M AndroidManifest.xml
3、点击右键,再一次Build Project
4、点击右键Run as Android Application
对应的命令:
在工程目录下执行以下命令:
生成resources.ap_:
aapt package -f -S res -I ~/android-sdk-linux/platforms/android-18/android.jar -A assets/ -M AndroidManifest.xml -F bin/resources.ap_
生成classes.dex:
dx --dex --output=bin/classes.dex bin/classes
生成HelloWorld_unsigned.apk:
apkbuilder bin/HelloWorld_unsigned.apk -v -u -z bin/resources.ap_ -f bin/classes.dex -rf src -nf libs
签名apk,使用debug key,别名为androiddebugkey,密码是android:
jarsigner -verbose -keystore ~/.android/debug.keystore -signedjar bin/HelloWorld_signed.apk bin/HelloWorld_unsigned.apk androiddebugkey
对齐apk:
zipalign -v 4 bin/HelloWorld_signed.apk bin/HelloWorld.apk
移除临时apk:
rm bin/HelloWorld_unsigned.apk bin/HelloWorld_signed.apk
安装apk:
adb install bin/HelloWorld.apk
5、点击右键,Android Tools->Export Signed Application Package
同样的步骤,只是签名使用的自己创建的数字证书(release版),最后的apk不保存在bin目录下,而是由用户指定。