转载请标明出处:http://blog.csdn.net/goldenfish1919/article/details/40978859

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



-f 假设编译生成的文件已经存在,强制覆盖。

-m 使生成的包的文件夹存放在-J參数指定的文件夹

-J 指定生成的R.java 的输出文件夹路径

-S 指定res目录的路径

-I 指定某个版本号平台的android.jar文件的路径

-A 指定assert目录的路径



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  

 

-target <版本号>               生成特定 VM 版本号的类文件

-bootclasspath <路径>        覆盖引导类文件的位置

-d <文件夹>                    指定存放生成的类文件的位置

-sourcepath <路径>           指定查找输入源文件的位置



3.打成jar包

cd bin

jar cvf hello.jar *



4.生成dex文件

cd ..

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

--output=<要生成的classes.dex路径> <要处理的class文件的路径>



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_  

-f 假设编译生成的文件已经存在,强制覆盖

-M 指定AndroidManifest.xml的路径

-S 指定res目录路径

-I 指定某个版本号平台的android.jar的路径

-F 指定输出文件完整路径



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

-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

Android-怎样用命令行进行打包的更多相关文章

  1. iOS 用命令行进行打包

    通过命令行编译打包 第一步,打开终端,输入: cd 把项目文件拖到这里(注意:cd后面要有空格,然后再把项目文件拖进来) 回车 第二步,clean工程(默认release版本),在终端输入: xcod ...

  2. 使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0

    使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0 网上的 MapReduce WordCount 教程对于如何编译 WordCount.java 几乎是一笔带过… 而有写到的 ...

  3. 基于命令行编译打包phonegap for android应用 分类: Android Phonegap 2015-05-10 10:33 73人阅读 评论(0) 收藏

    也许你习惯了使用Eclipse编译和打包Android应用.不过,对于使用html5+js开发的phonegap应用,本文建议你抛弃Eclipse,改为使用命令行模式,绝对的快速和方便. 一直以来,E ...

  4. Android Developers:在命令行构建和运行

    使用Ant构建脚本构建你的应用程序有两种方式:一种用于测试/调试你的引用程序—debug模式—另一种用于构建你最终发布的包-release模式.无论你使用哪种方式构建你的应用程序,它必须在安装在模拟器 ...

  5. [Android] 基于 Linux 命令行构建 Android 应用(四):命令行构建

    谷歌提供的 Android SDK 支持 Ant 自动构建[1],你可以使用调试和发行两种模式进行构建,两种模式不同之处在于调试模式 Ant 会调用内置的调试密钥,而发行模式调用你提供的私钥. 首先安 ...

  6. 命令行创建Android应用,命令行生成签名文件,命令行查看签名信息,对APK包签名并编译运行

    一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...

  7. VS使用WinRAR软件以命令行方式打包软件至一个exe

    由于项目需要,需要将一个绿色版软件(即无需在C盘写入文件)发给客户使用,要求是只有一个exe文件,双击即可执行.​ 网上说WinRAR软件创建自解压文件可以实现,链接http://blog.csdn. ...

  8. Cocos移植到Android-通过命令行交叉编译打包

    当我们在Windows下使用Visual Studio开发好Win32平台的游戏程序后,我们需要把它们移植到不同的平台上.Cocos2d-x支持很多个平台,然而,我们不可能介绍全部平台的移植.我们总结 ...

  9. android学习17——命令行建gradle工程

    使用命令行建gradle工程要涉及到几个工具的版本. 1.gradle的版本.这个用gradle -version查到. 2.SDK BuildTools的版本. 这个要先配好SDK的环境变量,然后在 ...

随机推荐

  1. SNMP中文

    SNMP4J 处理中文信息时的问题 http://qsjiangs.iteye.com/blog/1966899

  2. HDU 1754 I Hate It(线段树)

    点我看题目 题意  :又是一道中问题,我就不说题意了.... 思路 : 线段树,这道题跟1166差不多,改一些地方就差不多了. #include <iostream> #include & ...

  3. 想弄清楚LIBEVENT和EPOLL之类的关系,不要因为走得太急而迷失了方向

    要一步一步构架起整个体系, 来日方长. 系统调用级别的EPOLL和函数库LIBEVENT之间,大体关系应该是如何呢? 网上有说法: ~~~~~~~~~~~~~~ libevent对底层多路复用机制的封 ...

  4. codevs 版刷计划(1000-1099)

    Diamond咋都是模板题... 开个坑刷codevs的Master题.巩固一下姿势. 目前AC的题目:1001,1021,1022, 1001.舒适的路线(并查集) 求出无向图s到t路径上的min( ...

  5. 执行gem install dryrun错误

    ERROR:  While executing gem ... (Gem::FilePermissionError)     You don't have write permissions for ...

  6. Ember.js demo1

    <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1 ...

  7. Android-加载透明PNG图片变黑的问题

    png和jpg作为两种最常用的图片格式,首先我们要知道他们的区别: 1.从一般图片的外观上来说,他们是无法直接判断的 2.从文件大小上来说,同样一张图png肯定比jpg的大 3.通过查资料咱们可以发现 ...

  8. S3C2410 实验三——块拷贝、字拷贝(寄存器的理解)

    因为笔记做在 evernote 上,博客上就不再重新敲了. http://www.evernote.com/shard/s307/sh/5bd591a1-dbbd-4457-812a-17c08c22 ...

  9. hdu4293Groups

    http://acm.hdu.edu.cn/showproblem.php?pid=4293 这题单拉出来写篇吧 确实不错的一题 将每个人说的话 转化一下 可以算出它处在哪个段中 题目就转换成了求不相 ...

  10. hadoop2.2编程:自定义hadoop map/reduce输入文件切割InputFormat

    hadoop会对原始输入文件进行文件切割,然后把每个split传入mapper程序中进行处理,FileInputFormat是所有以文件作为数据源的InputFormat实现的基类,FileInput ...