《Android系统原理及开发要点详解》

Android开发系统主要集中在两种环境中,分别是基于Android SDK的开发和基于Android源代码的开发。前者可以在Linux或者Windows两种环境中使用IDE完成,后者需要在Linux环境中进行开发。

è 1.3.1  基于SDKAndroid开发

基于SDK的Android开发,使用Google提供的SDK。Android的SDK中包含Android系统下层的二进制映像、模拟器及相关的工具,在Linux和Windows系统中使用IDE环境进行Android应用程序的开发。

不同版本的Android的SDK如下:

  android-sdk-linux_x86-1.0:Linux环境中Android 1.0的SDK;

  android-sdk-windows_x86-1.0:Windows环境中Android 1.0的SDK;

  android-sdk-linux_x86-1.5_r3:Linux环境中Android 1.5 R3的SDK;

  android-sdk-windows_x86-1.5_r3:Windows环境中Android 1.5 R3的SDK;

  android-sdk-linux_x86-1.6_r1:Linux环境中Android 1.6 R1的SDK;

  android-sdk-windows_x86-1.6_r1:Windows环境中Android 1.6 R1的SDK。

基于SDK的Android开发所对应的网站是Google的Android开发者(Android Developers),网址为:http://developer.android.com/。

Android开发者的标志如图1-9所示。

 

图1-9  Android开发者的标志

基于SDK的Android开发仅限于开发Android的应用程序,其开发成果即Android最上层的Java应用程序包。这种开发环境中的开发主要使用Java语言,不需要使用硬件,不需要涉及Android系统的底层,只需要了解Android系统的API。由于可以使用主机的仿真环境,因此有各种成熟的工具可以使用。

基于SDK的Android开发,所涉及的知识体系包含以下一些内容:

  Java语言知识(通用知识);

  Android应用程序架构;

  Android GUI设计基础知识;

  Android中各种视图的使用;

  Android中2D/3D图形API;

  Android中应用程序的设计思想。

<DIV style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 1pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 1pt">

 提示:Android的应用程序层虽然需要设计很多Android特定的架构和接口,但是通用的GUI设计思想依然适用。

</DIV>

è 1.3.2  基于源代码SDK Android开发

基于源代码Android的开发在获取所有源代码的基础上进行,可以开发Android应用程序,进行系统移植或者开发Android系统本身。

Android源代码工程的网址为:http://source.android.com/。

Android源代码工程的标志如图1-10所示。

 

图1-10  Android源代码工程的标志

Android源代码可以从其git的源代码仓库中获得:android.git.kernel.org。

<DIV style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 1pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 1pt">

 提示:这个网络地址可以使用git和repo工具操作,也可以使用浏览器按照网页的方式(HTTP协议)来访问。

</DIV>

基于源代码的Android开发,所涉及的知识体系包含以下一些内容:

  Linux操作系统的基础知识;

  Linux内核知识(C语言);

  Linux驱动程序知识(C语言);

  Android底层库(C语言、C++);

  Android的Java运行环境(C++、Java);

  Android GUI系统(C++、Java);

 音频、视频和多媒体(C语言、C++、Java);

 电话部分(C语言、C++、Java);

 蓝牙、Wifi、定位系统(C语言、C++、Java);

 传感器系统(C语言、C++、Java)。