初识Android工具
一.Android Studio左侧导航栏的介绍:
1.build:编译自动生成的文件
2.gradle:gradle wrapper配置文件
3…gitignore:哪些文件排除在版本控制之外
4.Build.gradle:项目全局gradle脚本
5.Grale.properties:全局gradle配置文件,配置相关属性
6.gradlew和gradlew.bat:命令行界面执行gradle命令
7.Local.properties:本机SDK路径
8.Setting.gradle:制定项目所有引入的模块,目前只有app模块
9.app目录:项目代码、资源
9.1.build:系统自动生成文件
9.2.libs:第三方jar包
9.3.androiTest:Android test自动化测试用例
9.4.Java:所有java代码放置地方,MainActivity.java
9.5.res:图片、布局、字符串等
9.6.AndroidManifest.xml:项目配置文件,譬如四大组件的定义
9.7.Test:unit test自动化测试用例
9.8.Build.gradle:app模块的gradle构建样本,项目构建相关配置
9.9.Progurad-reles.pro:执行项目混淆规则
10.res目录:图片、布局、字符串等
10.1.drawable:图片
10.2.Mipmap:图标(不同后缀更好兼容设备)
10.3.Vaules:字符串、样式、颜色等。以下为values的内容
二.最外面层build.gradle文件的介绍
//Gradle是基于Groovy领域特定语言(DSL)来进行项目设置的。
buildscript {
ext.kotlin_version = '1.3.71'
//闭包声明了两个代码仓库
repositories {
google() //google扩展依赖库
jcenter()//第三方开源库
}
//使用classpath声明了两个插件
dependencies {
//Gradle插件的目的是构建android项目,与AS版本一致
classpath 'com.android.tools.build:gradle:3.6.3'
//Kotlin插件
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
jcenter()
}
}
三.app层build.gradle的介绍
apply plugin: 'com.android.application'//应用程序模块,也可以设置为库模块
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'//kotlin模块和扩展功能
//项目构建的各个属性
android {
compileSdkVersion 28 //指定项目编译版本
buildToolsVersion "29.0.3" //Android10.0SDK编译
//项目更多细节配置
defaultConfig {
applicationId "com.example.myapplication"//应用唯一标识符
minSdkVersion 21///项目最低兼容版本,最低兼容5.0
targetSdkVersion 28//目标版本,在该版本充分测试,启用新特性,9.0
versionCode 1 //项目版本号
versionName "1.0"//项目版本名
//启用Junit测试用例
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
//生成安装文件的相关配置
buildTypes {
//一般一个release包(正式版安装文件配置),一个debug包(测试版安装文件配置)。
release {
minifyEnabled false//是否对项目混淆
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
//选择混淆规则
}
}
}
//指定项目所有依赖关系。本地依赖(jar包或者目录)、库依赖(项目中的库模块)和远程依赖(jcenter仓库开源项目)。
dependencies {
//implementation fileTree本地依赖,libs目录底下的所有jar包
implementation fileTree(dir: 'libs', include: ['*.jar'])
//implementation远程依赖声明,标准远程库格式,androidx.appcompat:为域名部分,appcompat为工程名,1.0.2是版本号
//Gradle构建时会检查本地是否有库缓存,没有会自动联网下载并添加到项目构建路径
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.core:core-ktx:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
//implementation project是库依赖,譬如一个库名叫help,可以声明为(implementation project('help'))
//声明测试用例库的
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
Android系统的架构
Android的系统的架构主要分为四层架构,五块区域.
四层架构如下介绍:
- Linux 内核层
Android 系统是基于 Linux 2.6 内核的,这一层为 Android 设备的各种硬件提供了底
层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理等。 - 系统运行库层
这一层通过一些 C/C++库来为 Android 系统提供了主要的特性支持。如 SQLite 库提
供了数据库的支持,OpenGL|ES 库提供了 3D 绘图的支持,Webkit 库提供了浏览器内核
的支持等。
同样在这一层还有 Android 运行时库,它主要提供了一些核心库,能够允许开发者使用 Java 语言来编写 Android 应用。另外 Android 运行时库中还包含了 Dalvik 虚拟机,它使得每一个 Android 应用都能运行在独立的进程当中,并且拥有一个自己的 Dalvik 虚拟机实例。相较于 Java 虚拟机,Dalvik 是专门为移动设备定制的,它针对手机内存、
CPU 性能有限等情况做了优化处理。 - 应用框架层
这一层主要提供了构建应用程序时可能用到的各种 API,Android 自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。 - 应用层
所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,或者是你从 Google Play 上下载的小游戏,当然还包括你自己开发的程序。
四.Android的四大组件
Android的四大组件分别是:
活动Activity,
服务Service,
广播BroadcastReceiver)
内容提供器ContentProvider.`