1. Android系统架构
四层架构: Linux内核层、系统运行库层、应用框架层、应用层。
如图所示:
1.1 Linux内核层
Android系统是基于Linux内核的,这层为Android设备的各种硬件提供了底层驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等
1.2 系统运行库层
这一层通过一层C/C++库来为Android系统提供了主要的特性支持。如SQLite库(数据支持)等
同样在这一层还有Android运行时库,主要提供了一些核心库,能允许开发者使用Java语言来编写Android应用。
另外,Android运行时库还包含了Dalvik虚拟机(5.0系统之后改为ART运行环境)
1.3 应用框架层
这一层主要提供了构建应用程序时可能用到的各种API
1.4 应用层
所有安装在手机上的应用程序都是属于这一层,包括你自己开发的程序
2. Android四大组件
活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)、内容提供器(Content Provider)
3. Android Studio中的build.gradle文件解析
先看下app目录下的build.gradle文件:
在这主要分析buildTypes闭包:
buildTypes闭包中用于指定生成安装文件的相关配置,一般有两个子闭包:debug(可忽略不写)、release
release闭包中:
1. minifyEnabled 用于指定是否对项目的代码进行混淆,true表示混淆,false表示不混淆
2. proguardFiles 用于指定混淆时使用的规则文件:第一个 proguard-android.txt 是在Android SDK目录下的,里面是所有项目通用的混淆规则;第二个 proguard-rules.pro 是在当前项目的根目录下的,里面可以编写当前项目特有的混淆规则。
4. Android Studio中的一些快捷键
运行程序:Shift+F10
打印 debug 级别的日志:输入logd后按下 Tab 键
打印 info 级别的日志:输入logi后按下 Tab 键
打印 warn 级别的日志:输入logw后按下 Tab 键 ... 以此类推
生成 TAG 常量:在 onCreate()方法的外面输入logt后按下 Tab 键