
| Linux内核层 | 为Android设备的各种硬件提供底层驱动 |
| 系统运行库层 | 通过C/C++库为Android系统提供主要的特性支持 |
| 应用框架层 | 提供了构建应用程序时可能用到的各种API |
| 应用层 | 安装在手机上的应用程序 |
| Activity | Android应用程序的“门面”,应用程序的可视部分 |
| Service | 不可视,后台运行 |
| Broadcast Receiver(广播接收器) | 允许你的应用接收广播消息,也可以向外发出消息,比如电话、短信 |
| Content Provider(内容提供器) | 为应用程序之间共享数据提供了可能,比如读取通讯录中的联系人 |
1. 需要准备的工具
(1)JDK:Java语言的软件开发工具包
(2)Android SDK:Android开发工具包
(3)Android Studio:开发Android项目的IDE工具
2. Android官网地址:https://developer.android.google.cn/studio
国内的代理站点:http://www.android-studio.org
1. 项目结构模式


| .gradle和.idea | Android Studio 自动生成的一些文件,无须关心 |
| app | 项目的代码和资源文件 |
| build | 包含编译时自动生成的文件 |
| gradle | 包含gradle wrapper的配置文件 |
| .gitgnore | 将指定的目录或文件排除在版本控制之外 |
| build.gradle | 项目全局的gradle构建脚本,一般都不需要修改 |
| gradle.properties | 全局的gradle配置文件,直接影响项目中所有的gradle编译脚本 |
| gradlew和gradlew.bat | 用来在命令行中执行gradle命令,其中gradlew是在Linux或Mac系统中使用的,gradlew.bat是在Windows系统中使用 |
| HelloWorld.iml | iml文件是所有IntelliJ IDEA项目都会自动生成的一个文件,用于标识这是一个IntelliJ IDEA项目 |
| local.properties | 用于指定本机中SDK的路径,自动生成,无需修改 |
| settings.gradle | 指定项目中所有引入的模块 |
2. app 目录下的结构
| build | 编译时自动生成的文件,无需关心 |
| libs | 存放第三方jar包,放在该目录下的jar包会自动添加到构建路径中去 |
| androidTest | 编写Android Test测试用例,对项目进行一些自动化测试 |
| Java | 存放所有Java代码 |
| res | 存放项目中所有图片、布局、字符串等资源文件 |
| AndroidManifest.xml | Android项目配置文件 |
| test | 编写Unit Test 测试用例,是对项目进行自动化测试的另一种方式 |
| .gitgnore | 将app模块内指定的目录排除在版本控制之外 |
| app.iml | IntelliJ IDEA项目自动生成的文件 |
| build.gradle | app模块的gradle构建脚本 |
| proguard-rules.pro | 指定项目代码的混淆规则 |
3. 详解build.gradle文件
最外层目录下的build.gradle文件,代码如下:
- buildscript {
- repositories {
- jcenter()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:2.3.3'
-
- // NOTE: Do not place your application dependencies here; they belong