Android应用开发一般都使用集成开发工具比如eclipse或者android studio进行打包,但是如何不用这些集成开发工具进行命令行打包呢?
方法/步骤
-
把android命令行工具所在的路径添加到path环境变量中,主要包括:
D:\adt-bundle-windows-x86_64-20131115\sdk\tools;
D:\adt-bundle-windows-x86_64-20131115\sdk\platform-tools;
D:\adt-bundle-windows-x86_64-20131115\sdk\build-tools\19.0.1;
-
我们在eclipse中新建一个android项目,内容非常简单,只有一个MainActivity。
-
下面我们把这个项目的源码拷贝到其他的路径,然后用命令行进行打包,比如本文是拷贝到D:\work\taobao-wireless\android\安全\命令行打包\hellodemo。
-
(1)生成R文件。在命令行输入:
aapt package -f -m -J ./gen -S res -M AndroidManifest.xml -I D:\adt-bundle-windows-x86_64-20131115\sdk\platforms\android-19\android.jar
-
(2)生成class文件。在命令行输入:
javac -bootclasspath D:\adt-bundle-windows-x86_64-20131115\sdk\platforms\android-19\android.jar -d bin src\com\example\hello\*.java gen\com\example\hello\R.java
-
(3)把class文件打成jar包。在命令行输入:
cd bin
jar cvf hello.jar *
-
(4)生成dex文件。在命令行输入:
cd ..
dx --dex --output=bin\classes.dex bin\hello.jar
-
(5)打包资源。在命令行输入:
aapt package -f -M AndroidManifest.xml -S res -I D:\adt-bundle-windows-x86_64-20131115\sdk\platforms\android-19\android.jar -F bin\resources.ap_
-
(6)生成未签名的apk。在命令行输入:
java -cp D:\adt-bundle-windows-x86_64-20131115\sdk\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain hello.apk -v -u -z bin\resources.ap_ -f bin\classes.dex -rf src
-
(7)对apk进行签名。在命令行输入:
cd ../../Auto-sign
java -jar signapk.jar testkey.x509.pem testkey.pk8 ../命令行打包/hellodemo/hello.apk ../命令行打包/hellodemo/hellosign.apk
-
现在就可以adb install hellosign.apk进行安装了。