一、Android平台架构及特征
Android系统建立在Linux系统之上,分为4层:操作系统内核、中间件、用户界面、应用软件。
可以看到,这4层架构主要由5部分组成:用户程序、用户程序框架、C/C++函数库、Android运行时、Linux内核。
C/C++函数库一般不被应用开发者直接调用(可以借用NDK使用这些资源),但可以被其上层的用户程序框架使用。
Android运行时由两部分组成:Android核心库集、Dalvik虚拟机。核心库集提供了java语言核心库可以使用的绝大部分功能,虚拟机运行Android应用程序。每个Android应用程序有对应一个Davlik进程。注意,Davlik与JVM并不兼容,JVM可以直接从.class文件或者JAR包中加载字节码然后运行,Davlik需要通过DX工具将应用程序中所有用java写成的.class文件编译成.dex文件,然后运行。
二、ADT使用
可以借助 adt安装路径\sdk\tools 目录下的"android"命令来管理Android SDK管理器和AVD(Android Virtual Device)。除此之外android命令还支持:
可以借助 adt安装路径\sdk\platform-tools 目录下的"adb"命令使用adb工具
三、生成apk的步骤
1、通过DX工具对.class文件编译成.dex文件
2、通过AAPT工具将所有资源文件打包,成".ap_"文件
3、通过apkbuilder工具将前面得到的.dex文件和".ap_"文件打包成APK文件
四、手动创建、开发、编译、打包、运行一个安卓项目
在 adt安装路径\sdk\tools 下运行
android list targets //查看当前SDK中存在的API列表
android create project -n HelloWorld -t 2 -p C:\Users\5MFJW02\Desktop\test\HelloWorld -k com.reton.helloworld -a HelloWord
//t:目标API的id(注意,是id不是API level)
android项目生成后,可以看到根目录下有一个build.xml文件,这是专门针对ant工具提供的一个生成文件,ant可以借助此文件直接生成apk(比上文谈到的三步生成方法简洁)。ant使用需要两个环境变量:JAVA_HOME(jdk安装路径)和ANT_HOME(ant安装路径)。要直接使用ant还需要将%ANT_HOME%\bin加入到系统路径下(windows下就是path)。ant常用命令有:
在项目根目录下(也就是上面创建的项目里包含AndroidManifest.xml文件的那一级目录下)执行ant release命令即可完成android项目的编译打包。
有些时候我们希望用ant编译项目,但是项目里缺省build.xml文件,这时我们可以用"android update project -t 6 -n DrugTest -p C:\Users\5MFJW02\Desktop\DrugTest"命令去更新项目,以产生build.xml文件。