Android如何用命令行进行打包

来源:互联网 发布:流量提醒软件下载 编辑:程序博客网 时间:2024/04/30 03:52


http://jingyan.baidu.com/article/14bd256e21b415bb6d26128b.html

Android应用开发一般都使用集成开发工具比如eclipse或者android studio进行打包,但是如何不用这些集成开发工具进行命令行打包呢?

百度经验:jingyan.baidu.com

工具/原料

  • Android SDK
  • JDK
  • Auto sign

百度经验:jingyan.baidu.com

方法/步骤

  1. 1

    把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;

    Android如何用命令行进行打包步骤阅读
  2. 我们在eclipse中新建一个android项目,内容非常简单,只有一个MainActivity。

    Android如何用命令行进行打包步骤阅读
  3. 下面我们把这个项目的源码拷贝到其他的路径,然后用命令行进行打包,比如本文是拷贝到D:\work\taobao-wireless\android\安全\命令行打包\hellodemo。

  4. (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

    Android如何用命令行进行打包步骤阅读
  5. (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  

    Android如何用命令行进行打包步骤阅读
  6. (3)把class文件打成jar包。在命令行输入:

    cd bin

    jar cvf hello.jar *

    Android如何用命令行进行打包步骤阅读
  7. (4)生成dex文件。在命令行输入:

    cd ..

    dx --dex --output=bin\classes.dex bin\hello.jar

    Android如何用命令行进行打包步骤阅读
  8. (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_  

    Android如何用命令行进行打包步骤阅读
  9. (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

    Android如何用命令行进行打包步骤阅读
  10. (7)对apk进行签名。在命令行输入:

    cd ../../Auto-sign

    java -jar signapk.jar testkey.x509.pem testkey.pk8 ../命令行打包/hellodemo/hello.apk ../命令行打包/hellodemo/hellosign.apk

    Android如何用命令行进行打包步骤阅读
  11. 现在就可以adb install hellosign.apk进行安装了。

    Android如何用命令行进行打包
0 0