google提供的Android包含了原始Android的目标机代码,主机编译工具、仿真环境,代码包经过解压缩后,第一级别的目录和文件如下所示:
|-- Makefile (全局的Makefile)
|-- bionic (Bionic含义为仿生,这里面是一些基础的库的源代码)
|-- bootloader (引导加载器)
|-- build (build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具)
|-- dalvik (Java虚拟机)
|-- development (程序开发所需要的模板和工具)
|-- external (目标机器使用的一些库)
|-- frameworks (应用程序的框架层)
|-- hardware (与硬件相关的库)
|-- kernel (Linux2.6的源代码)
|-- packages (Android的各种应用程序)
|-- prebuilt (Android在各种平台下编译的预置脚本)
|-- recovery (与目标的恢复功能相关)
`-- system (Android的底层的一些库)
bionic目录展开一个级别的目录如下所示:
bionic/
|-- Android.mk
|-- libc
|-- libdl
|-- libm
|-- libstdc++
|-- libthread_db
`-- linker
bootloader目录展开的两个级别目录:
bootloader/
`-- legacy
|-- Android.mk
|-- README
|-- arch_armv6
|-- arch_msm7k
|-- fastboot_protocol.txt
|-- include
|-- libboot
|-- libc
|-- nandwrite
`-- usbloader
build目录展开的一个级别的目录如下所示:
build/
|-- buildspec.mk.default
|-- cleanspec.mk
|-- core (各种以mk为结尾的文件,它门是编译所需要的Makefile)
|-- envsetup.sh
|-- libs
|-- target (包含board和product两个目录,为目标所需要文件)
`-- tools (编译过程中主机所需要的工具,一些需要经过编译生成)
其中,core中的Makefile是整个Android编译所需要的真正的Makefile,它被顶层目录的Makefile引用。
envsetup.sh是一个在使用仿真器运行的时候,用于设置环境的脚本。
dalvik目录用于提供Android JAVA应用程序运行的基础————JAVA虚拟机。
development目录展开的一个级别的目录如下所示:
development
|-- apps (Android应用程序的模板)
|-- build (编译脚本模板)
|-- cmds
|-- data
|-- docs
|-- emulator (仿真相关)
|-- host (包含windows平台的一些工具)
|-- ide
|-- pdk
|-- samples (一些示例程序)
|-- simulator (大多是目标机器的一些工具)
`-- tools
在emulator目录中qemud是使用QEMU仿真时目标机器运行的后台程序,skins是仿真时手机的界面。
samples中包含了很多Android简单工程,这些工程为开发者学习开发Android程序提供了很大便利,可以作为模板使用。
external目录展开的一个级别的目录如下所示:
external/
|-- aes
|-- apache-http
|-- bluez
|-- clearsilver
|-- dbus
|-- dhcpcd
|-- dropbear
|-- elfcopy
|-- elfutils
|-- emma
|-- esd
|-- expat
|-- fdlibm
|-- freetype
|-- gdata
|-- giflib
|-- googleclient
|-- icu4c
|-- iptables
|-- jdiff
|-- jhead
|-- jpeg
|-- libffi
|-- libpcap
|-- libpng
|-- libxml2
|-- netcat
|-- netperf
|-- neven
|-- opencore
|-- openssl
|-- oprofile
|-- ping
|-- ppp
|-- protobuf
|-- qemu
|-- safe-iop
|-- skia
|-- sonivox
|-- sqlite
|-- srec
|-- strace
|-- tagsoup
|-- tcpdump
|-- tinyxml
|-- tremor
|-- webkit
|-- wpa_supplicant
|-- yaffs2
`-- zlib
在external中,每个目录表示Android目标系统中的一个模块,可能有一个或者若干个库构成。其中:
opencore为PV(PacketVideo),它是Android多媒体框架的核心。
webkit是Android网络浏览器的核心。
sqlite是Android数据库系统的核心。
openssl是Secure Socket Layer,一个网络协议层,用于为数据通讯提供安全支持。
frameworks目录展开的一个级别的目录如下所示:
frameworks/
|-- base
|-- opt
`-- policies
frameworks是Android应用程序的框架。
hardware是一些与硬件相关的库
kernel是Linux2.6的源代码
packages目录展开的两个级别的目录如下所示:
packages/
|-- apps
| |-- AlarmClock
| |-- Browser
| |-- Calculator
| |-- Calendar
| |-- Camera
| |-- Contacts
| |-- Email
| |-- GoogleSearch
| |-- HTMLViewer
| |-- IM
| |-- Launcher
| |-- Mms
| |-- Music
| |-- PackageInstaller
| |-- Phone
| |-- Settings
| |-- SoundRecorder
| |-- Stk
| |-- Sync
| |-- Updater
| `-- VoiceDialer
`-- providers
|-- CalendarProvider
|-- ContactsProvider
|-- DownloadProvider
|-- DrmProvider
|-- GoogleContactsProvider
|-- GoogleSubscribedFeedsProvider
|-- ImProvider
|-- MediaProvider
`-- TelephonyProvider
packages中包含两个目录,其中apps中是Android中的各种应用程序,providers是一些内容提供者(在Android中的一个数据源)。
packages中两个目录的内容大都是使用JAVA编写的程序,各个文件夹的层次结构是类似的。
prebuilt目录展开的一个级别的目录如下所示:
prebuilt/
|-- Android.mk
|-- android-ARM
|-- common
|-- darwin-x86
|-- linux-x86
`-- windows
system目录展开的两个级别的目录如下所示:
system/
|-- bluetooth
| |-- bluedroid
| `-- brfpatch
|-- core
| |-- Android.mk
| |-- README
| |-- adb
| |-- cpio
| |-- debuggerd
| |-- fastboot
| |-- include (各个库接口的头文件)
| |-- init
| |-- libctest
| |-- libcutils
| |-- liblog
| |-- libmincrypt
| |-- libnetutils
| |-- libpixelflinger
| |-- libzipfile
| |-- logcat
| |-- logwrapper
| |-- mkbootimg
| |-- mountd
| |-- netcfg
| |-- rootdir
| |-- sh
| `-- toolbox
|-- extras
| |-- Android.mk
| |-- latencytop
| |-- libpagemap
| |-- librank
| |-- procmem
| |-- procrank
| |-- showmap
| |-- showslab
| |-- sound
| |-- su
| |-- tests
| `-- timeinfo
`-- WLAN
`-- ti
文章来自:http://www.3gfeixun.com/plus/view.php?aid=2380
分享到:
相关推荐
源码位于`android / platform / system / core`目录下,这个目录包含了Android系统的核心组件,其中ADB源码主要分布在以下几个子目录: 1. `adb/`: 这里包含了ADB的主程序代码,包括服务器端(adb_server)和客户端...
Android源代码中还包含了大量用于开发和调试的库和工具,如`external`目录下的开源项目,以及`tools`目录下的编译、测试和模拟器工具。 9. 系统启动流程: 从引导加载器(Bootloader)到系统初始化,Android的启动...
本篇将深入探讨这些方面,帮助你理解这款"飞机游戏"的源代码结构。 1. **游戏框架** - 游戏通常基于某种游戏引擎或框架构建,如Unity、Cocos2d-x或自定义的轻量级框架。在这个案例中,由于是源代码,我们可以推测...
本篇文章将基于提供的“俄罗斯方块android源代码”,探讨如何使用Android Studio来实现这一游戏的开发。我们将从源代码结构、主要组件、关键算法以及UI设计等多个方面进行详尽的分析。 一、源代码结构 Android ...
在Android中,可以使用XML布局文件来定义方格的结构,每个数字可能是一个ImageView或TextView,放置在一个相对布局或者网格布局(GridLayout)中。为了实现随机分布的数字,开发者可能会用到Java或Kotlin的随机数...
文件列表中的"Settings"可能包含了这些关键组件的源代码。 2. **SettingsService** SettingsService是Android系统中的一个关键组件,它负责处理系统设置的更改请求,并将这些更改同步到系统服务。源码中会包含各种...
`repo`是一个版本控制系统工具,专门用于管理Android的源代码仓库。本文将详细解析`repo`脚本及其在下载Android源码中的应用。 ### 1. `repo`工具简介 `repo`是由Google开发的一个Python脚本,它封装了Git命令,...
首先,Android 8.0的源码下载主要通过Android开放源代码项目(AOSP)进行。访问官方网站<https://source.android.com/source/downloading>,你需要设置一个Git环境,包括安装Git工具,并确保系统满足最低硬件需求。...
这个"Android抽奖转盘源码"提供了实现这一功能的完整代码,可以帮助开发者快速理解和集成到自己的项目中。 首先,转盘抽奖的核心是动画效果。在Android中,可以使用`ViewPropertyAnimator`、`ObjectAnimator`或...
《Android连连看游戏源码解析》 Android连连看游戏源码是一个基础的移动平台游戏开发实例,它展示了如何在Android环境中构建一款具有完整功能的连连看游戏。虽然游戏界面相对简洁,但其核心逻辑和算法设计是完整的...
- **Android工程结构**:一个标准的Android项目包含`res`资源文件夹、`src`源代码目录、`AndroidManifest.xml`配置文件以及`assets`、`lib`等其他必要组件。在这个项目中,源代码可能分布在`src/...
这个项目不仅包含源代码,还有丰富的辅助文档,如开发文档、项目截图、接口文档和需求文档,这使得学习和复用变得更加方便。 首先,从源码的角度来看,这个项目涵盖了Android开发的基础和高级概念。基础部分可能...
2. **项目结构**:Android应用通常有特定的目录结构,包括`app/src/main/java`(存放Java源代码)、`app/res`(存放资源文件如布局、图片、字符串等)、`build.gradle`(构建文件定义项目依赖)等。在压缩包中,源...
源代码应该包含了类层次结构,允许开发者根据需求选择不同的基类进行继承和重写。 7. **APP源代码** 除了图表库本身,提供的APP源代码是实践和学习的好材料,可以展示如何在实际项目中集成和使用这些图表组件。...
这个压缩包“Android程序研发源码Android Tools4U源码.rar”很可能包含了完整的Android Tools4U应用的源代码,让我们来深入探讨这个项目可能涵盖的一些关键知识点。 1. **Android Studio IDE**: Android Tools4U...
3. src:源代码目录,分为main和test两个部分,main用于存放主应用代码,test则存放测试代码。 4. build.gradle:项目构建脚本,定义了项目依赖、版本信息等。 5. AndroidManifest.xml:应用程序清单文件,记录了...
【源码说明.txt】文件可能包含关于如何构建、运行以及源码结构的详细信息,对于开发者来说,这将是一份宝贵的参考资料。它可能会涵盖开发环境的设置、依赖库的引入、关键代码的解释等内容,有助于理解和复现麻将识别...
《Android扫雷程序Java源代码解析》 在移动设备领域,Android系统因其开源特性与丰富的应用生态,成为了开发者们的热门选择。本篇文章将深入探讨一个基于Android环境开发的扫雷程序,该程序采用Java语言编写,是...
本压缩包文件“安卓Android源码——andbatdog监视电池.zip”提供了这个功能的相关源代码,让我们深入探讨一下其中涉及的知识点。 1. **Android源码结构**:Android系统是开源的,其源码主要分布在AOSP(Android ...
Elose-wr项目可能分布在多个目录下,需要通过查看源码结构来理解其在整个系统中的位置和作用。 4. **关键组件解析** - **Linux内核**:Android基于Linux内核,负责硬件抽象、内存管理、进程调度等底层任务。Elose-...