守望者--AIR技术交流

标题: 解密ADT第三篇-java编译工具详解 [打印本页]

作者: 破晓    时间: 2015-1-19 10:47
标题: 解密ADT第三篇-java编译工具详解
前言

之前介绍了ADT编译air android项目的资源,接下来介绍编译源码部分,在这之前 我会贴几张图,以说明我们在FB中开始创建 air项目 到 发布APK的整个过程,现在终于开始说编译源码的问题了,这个问题我打算从最开始的android SDK编译开始说.接下来这篇文章可能有点枯燥,但是没关系,对于我这个健忘症患者来说,如果把技术写的细致才是关键.

首先最直观的方式:[attach]444[/attach]基本步骤应该是这样的,但是也并不绝对详细.毕竟还有ANE的各种处理,签名的各种处理,临时文件的各种处理,外部资源的各种处理等等. 可能大家看到这张图没什么感觉,但是如果我们看看APK的基本构成应该就了解了.

[attach]445[/attach]随便一个APK使用压缩工具解压后就可以看到. 上图中aapt编译资源 在 第一篇 第二篇分析中已经详细介绍了.所以这篇讲的是java编译dex文件的部分.我会选择从最基本的JDK开始介绍.之所以说那么细,是由于我是一个健忘症患者. 上图提到了JRE,JRE是java JDK中的东西.是java运行库的核心部分. 在这之前还需要解释一下android原生开发的编译打包过程,首先看两张图:

ps:JRE是AIRSDK的核心承载框架.

[attach]446[/attach]

再次披露:为什么AIR for android只支持android2.2以上?

由于在android2.2以上 google才给android引入JIT (JUST IT TIME 即时编译技术) 而AS偏偏是一种十足的即时编译语言.

[attach]447[/attach]

与ADT打包AIR程序相比,打包android原生程序其实都做了同样的事情:

aapt-javac-dx-makeapk-jarsigner-adb

编译资源-编译源码-打包APK-签名-安装

只是ADT按照adobe自家的规则自定义的封了一层膜而已.现在就让我们解开这层膜!!!

案例地址

Anti-ADT:https://github.com/recter/Anti-ADT



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

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

解密ADT第一篇-aapt详解

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


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

解密ADT第四篇-编译源码

解密ADT第五篇-案例分析

解密ADT第六篇-DIY MY ADT





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