【知识导读】
1.1 相关概念解释
1.Android
Android一词的本义是指“机器人”,同时也是Google于2007年11月5日推出的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。Android是一种基于Linux的自由及开放源代码的操作系统。Android操作系统最初由Andy Rubin开发,主要支持手机,后来Android逐渐扩展到平板电脑及其他领域,如电视、数码相机、游戏机等。
Android是一个完全开放的操作系统,开放的平台允许任何移动终端厂商加入Android联盟。显著的开放性使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。由于Android的开放性,众多的厂商会推出千奇百怪、功能特色各异的多种产品。Android应用程序具有系统资源占用少、系统运行速度快、个性化的操作界面、操作简单、有众多的软件提供给消费者下载等诸多优势。
Android 9.0最早在2018年1月25日出现在Google官网上,随后,在2018年8月7日,Google正式推出Android 9.0的正式版。与上一版本相比,此次Android 9.0的新增功能包括:统一推送升级,深度集成Project Treble模式,更加封闭,原生支持通话录音等。
2.Android Studio
Android Studio是Google开发的一款面向Android开发者的IDE(Integrated Development Environment,集成开发环境),支持Windows、Mac、Linux等操作系统,基于Java语言集成开发环境IntelliJ搭建而成。Android Studio是一项全新的基于IntelliJ IDEA的官方Android应用开发集成开发环境(IDE),提供了集成的Android开发工具用于开发和调试。Android Studio是一款性能良好的Android应用开发工具,除了IntelliJ强大的代码编辑器和开发者工具,Android Studio还提供了很多可提高Android应用构建效率的功能。
Android Studio在2013年5月的Google I/O开发者大会上首次露面,之后推出了若干个测试版,直到2014年12月8日,Google终于正式发布了面向Android开发者的集成开发环境Android Studio 1.0稳定版。2015年5月29日,在Google的I/O开发者大会上,发布了Android Studio 1.3版,Android Studio 1.3版使代码编写变得更加容易,速度提升,而且支持C++编辑和查错功能。2018年在Google的I/O开发者大会上,发布了Android Studio 3.2版,该版本带来了一系列的新功能,如支持Android P开发预览版、新的Android App Bundle,以及Android Jetpack。
Android Studio 3.2新增了20个主要功能,其中包括:
(1)开发方面新增的主要功能。新增了导航编辑器、AndroidX重构、样本数据、更新Material Design、Android Slices、编辑CMakeList、新的Lint检查、IntelliJ平台更新等功能。
(2)构建方面新增的主要功能。新增了Android App Bundle、D8 Desugaring、R8优化器等功能。
(3)测试方面新增的主要功能。新增了Android模拟器快照、Android模拟器中的屏幕记录、虚拟场景Android模拟器相机、ADB连接助理等功能。
(4)优化方面新增的主要功能。新增了性能分析器、系统跟踪、分析器会话、自动的CPU记录、JNI引用跟踪等功能。
Android Studio 3.2预览版官方公布的下载地址为:
https://developer.android.google.cn/studio/
3.Gradle
Gradle以Groovy语言为基础,面向Java应用为主。它抛弃了基于XML的各种烦琐配置,是基于DSL(领域特定语言)语法的自动化构建工具。Gradle可以用于Android开发的新一代的Build System,也是Android Studio默认的build工具。因为Groovy是JVM语言,所以可以使用大部分的Java语言库。所谓DSL就是专门针对Android开发的插件,例如标准Gradle之外的一些新的方法(Method)、闭包(Closure)等。由于Gradle的语法足够简洁,而且可以使用大部分的Java包,因此当之无愧地成为了新一代Build System。
使用Android Studio新建一个项目后,默认会生成两个build.gradle文件,一个位于项目根目录,一个位于app目录下。还有另外一个文件settings.gradle。根目录下的脚本文件是针对module的全局配置,它的作用域所包含的所有module是通过settings.gradle来配置的。app文件夹就是一个module,如果在当前项目中添加了一个新的module,就需要在settings.gradle文件中包含这个新的module。
4.APK
APK(Android Package的缩写)是Android应用程序的安装包(*.apk),类似Symbian sis或sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。APK文件和sis一样,把Android SDK编译的项目打包成一个安装程序文件,格式为.apk。APK文件其实是zip格式,但后缀名被修改为.apk,通过UnZip解压后,可以看到Dex文件。Dex是Dalvik VM executes的简称,即Android Dalvik执行程序,并非Java ME的字节码,而是Dalvik字节码。