Android源码的下载
  在这里面以Ubuntu(x86)操作系统为例,说明下载Android的步骤:
  下载必要工具:
  下载GIT工具:
  $ sudo apt-get install git-core gnupg
  下载JDK6:
  $ sudo apt-get install sun-java6-jdk
  下载下列工具包:flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl
  $ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
  下载Valgrind工具:
  $ sudo apt-get install valgrind
  安装Repo工具:
  创建目录存放Repo:
  $ cd ~
  $ mkdir bin
  $ export PATH=~/bin:$PATH
  下载Repo:
  $ curl http://android.git.kernel.org/repo >~/bin/repo
  $ chmod a+x ~/bin/repo
  创建文件夹用于存放Android源码:
  $ mkdir mydroid
  $ cd mydroid
  配置Repo:
  $ repo init -u git://android.git.kernel.org/platform/manifest.git
  下载Android源代码:
  $ repo sync
  注意:因为网络不稳定的原因,下载过程中经常发生下载中断的现象,这里提供通过脚本的方式自动下载当下载中断发生时,脚本如下:
  #!/bin/bash
  echo "======start repo sync======"
  repo sync
  while [ $? = 1 ]; do
  echo "======sync failed, re-sync again======"
  sleep 3
  repo sync
  done
  将该脚本保存为getAndroid.sh,接着修改该文件属性:$ chmod 711 getAndroid.sh。然后运行该脚本即可下载Android源代码:
  $ ./getAndroid.sh
  Android源码的编译
  当Android源代码下载完毕后,输入下面两条命令即可开始编码。
  $ cd ~/mydroid
  $ make
  源代码的编译是一个很慢长的过程,在我的电脑上花费了大约3个小时。
  Linux内核编译
  在Windows操作系统上构建Android应用程序开发环境
  下载最新的Android SDK
  http://code.google.com/android/download.html
  选择Windows版本的SDK,下载后直接解压缩就可以使用,为了在控制台中直接使用SDK中的工具,把SDK的目录添加到Windows的path 环境变量中。
  下载JDK6
  http://java.sun.com/javase/downloads/index.jsp
  下载Eclipse 3.4版本
  http://www.eclipse.org/downloads/
  请选择Eclipse Classic 3.4.1
  安装Android插件(ADT)
  ADT(Android Development Tools)是Eclipse的一个插件,专门用于在Eclipse上开发Android应用程序。ADT插件的下载安装步骤如下:
  启动Eclipse,点击菜单Help > Software Updates
  点击Available Software标签
  点击Add Site,在输入框中填入如下URL:
  https://dl-ssl.google.com/android/eclipse/
  然后点击OK
  这时在软件列表中会出来ADT插件,如图:
  
  勾选上Developer Tools后,点击Install按钮。
  在弹出的安装窗口中,选择Android Developer Tools,点击Finish。
  然后程序将在后台下载并安装ADT插件。安装完毕后,重启Eclipse。
  Eclipse重启之后,要配置Android的SDK路径: 选择Windows > Preferences 选择 Android 属性面板
  点击Browse 选择Android SDK的目录
  点击Apply,接着点击OK。
  设置Eclipse的JavaJDK的属性设置。
  选择 Window > Preferences... 打开编辑属性窗口
  选择 Java 属性面板
  选择Java编译器为6.0
  点击 Apply, 和 OK
  编写Android应用程序
  利用Eclipse工具可以很方便地实现Android程序的开发
  选择File > New > Project 菜单创建一个新的Android工程
  在新建的Android工程中,ADT工具会自动创建一个基本的程序框架,我们要做的就是在这框架的基础上添加代码实现想要的功能。
  代码写好之后,选择Project > Build Project对整个工程进行编译。编译出来的是一个打包好的APK格式的程序。
  选择Run > Run运行程序,也可以选择Run > Debug对程序进行调试。目标程序可以在具体机器中运行(如G1手机),不能在具体机器中调试,但可以在模拟器中进行调试。
  Google也提供了ADB命令行工具用于上传程序到设备(手机或模拟器),或者从设备中下载数据到PC。
  Android SDK文件夹结构分析
  Android SDK文件结构如图:
  
  其中:
  Docs:文件夹中存放的是开发文档。
  Samples:文件夹中存放着Google提供的例子
  Tools:文件夹存放着各种工具(包括模拟器、ADB)
  Tools>Lib:文件夹中存放着很多文件,这些文件是在编译Android程序时要用到的(还有一个文件是SDK根目录下的android.jar)。
  Tools>lib>fonts:可能是为模拟器提供各种字体的支持(目前未确定)
  Tools>lib>images:这个文件夹中存放着模拟器运行时要用到的文件。这些文件如下:
  System.img:存放Android系统的映像文件,所使用的文件系统为YAFFS2,该文件中的内容就是/System文件夹中的内容(可通过adb shell命令查看到),使用mkyaffs2工具可将/System文件夹打包成System.img文件
  Userdata.img:存放初始化数据的映像文件,也是YAFFS2文件系统,该文件中的内容就是/Data文件夹中的内容。
  Ramdisk.img:这是一个普通的压缩文件,里面存放的内容大致上是系统运行时用到的一些参数设定,应该是提供给Linux Kernel起动时使用
  Kernel-qemu:这是Linux Kernel。-qemu是指带模拟器功能的Kernel。
  Skins:该文件夹中存放的是模拟器的界面皮肤。
  其中,System.img、Userdata.img、Ramdisk.img这三个文件在编译Android源代码时可以得到,Kernel-qemu文件在编译Linux内核时可以得到(得到的应该是一个叫做zImage的文件)
  Tools>lib>res:(目前未确定)
  Android源代码结构
  在网络上有一份源代码结构的文档,但还不全,我这边只截取出一级目录结构:
  |-- Makefile (全局的Makefile)
  |-- bionic (Bionic含义为仿生,这里面是一些基础的库的源代码)
  |-- bootloader (引导加载器)
  |-- build (build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具)
  |-- dalvik (JAVA虚拟机)
  |-- development (程序开发所需要的模板和工具)
  |-- external (目标机器使用的一些库)
  |-- frameworks (应用程序的框架层)
  |-- hardware (与硬件相关的库)
  |-- kernel (Linux2.6的源代码)
  |-- packages (Android的各种应用程序)
  |-- prebuilt (Android在各种平台下编译的预置脚本)
  |-- recovery (与目标的恢复功能相关)
  `-- system (Android的底层的一些库)
  Android手机所用到的Windows驱动源代码、还有SDK中Tools目录下的大多数工具的源代码都可以在Android源代码中找到
  使用Eclipse工具进行应用程序开发 熟悉Eclipse工具的使用
  使用XML语言描述各种资源(如字符串、控件等) - 熟悉XML描述语言
  使用JAVA编写应用程序 熟悉JAVA语法
  Android提供了各种类的接口供应用程序使用 熟悉Android接口
  大体上,Android源程序是由3个部分组成的:Java代码、XML文件、资源文件(如图片等)。
  Java源代码-(JAVA编译器)-->.class字节码-(dx)à.dex文件。.dex文件加上一些资源文件通过aapt工具生成.apk文件

更多相关文章

  1. Android×××方法详解
  2. Android中删除常用联系人(下)
  3. Android(安卓)Studio sdk tools文件夹下文件缺失问题以及解决方
  4. Android中xml文件解析 SAX方式 与 PULL方式
  5. android的各种*.img 文件
  6. 覆盖Android开发各个领域的近百个源码项目下载
  7. Android常用命令
  8. Android学习笔记(九) Android文件读写操作
  9. NPM 和webpack 的基础使用

随机推荐

  1. 读取 android 设备的电池信息
  2. Android 中解析JSON形式的数据
  3. 史上最全谷歌Android开发工具Android Stu
  4. Android中级联列表ExpandableListView使
  5. 【Android-View】基于原生View的简单功能
  6. Android:制作Update.zip升级包
  7. [Android]后台Service 弹出自定义dialog
  8. Android快速开发框架之xUtils---图片模块
  9. 利用adb工具android真机环境运行cpp(无需r
  10. android 自定义ButtonTab , ActivityGrou