守望者--AIR技术交流

标题: 解密ADT第四篇-编译源码 [打印本页]

作者: 破晓    时间: 2015-1-19 10:49
标题: 解密ADT第四篇-编译源码

      经过前面三篇的介绍,我相信大家应该知道ADT在编译 打包 AIR FOR ANDROID项目的时候的整个工作流程,所以关于流程原理上的东西 在这里就不多赘述了,ADT编译android源码相比编译资源来说就简单很多,大家直接看源代码注释就能看明白.这一篇分析的是 ADT操作androidSD之中的dx工具把 一堆jar文件编译成dex文件的操作过程,我们都知道 每一个apk文件都需要一个dex文件,而dex文件则是可以被android设备直接执行的文件,就类似与swf文件对于flash player而言.对于想了解更多android程序原理和结构的同学,我推荐大家去购买由国内知名安全论坛看雪学院出品的一本超级好书:android软件安全与逆向分析.

不够这本书需要一定的android基础.现在我们知道dex文件便是android设备最终可执行的文件 那么我们的ADT是如何生成dex文件的呢?下面我们直接看代码.


  1. //调用java执行dx.jar
  2. java
  3. //设定内存限制 举个例子 如下
  4. -Xmx512M -Xmz256M
  5. //调用 dx.jar
  6. -jar dx.jar
  7. //编译dex文件选项
  8. --dex
  9. //指定编译完成后的文件输出
  10. --outpath=D:/out/outdex.dex
  11. //启动类的模版类
  12. AppEntry_release.jar
  13. //资源ID所在的类 就是R.java(R.class文件)
  14. resource.jar
  15. //运行时类
  16. android/lib/runtimeClasses.jar
  17. //下面的ANE类库
  18. FlashRuntimeExtensions.jar
  19. [add ane is jar ]
复制代码
到现在,应该对整个编译源码过程有了大致的了解.
执行完这个函数后 会生成一个dex文件 用于下一步:打包APK




本文来自:http://shadowkong.com/archives/1460



作者: 破晓    时间: 2015-1-19 11:06
本系列目录:

解密ADT第一篇-aapt详解

解密ADT第二篇-编译APK资源


解密ADT第三篇-java编译工具详解

解密ADT第四篇-编译源码

解密ADT第五篇-案例分析

解密ADT第六篇-DIY MY ADT





欢迎光临 守望者--AIR技术交流 (http://www.airmyth.com/)