
1.2 Android开发环境搭建
本书Android开发所采用的IDE(集成开发环境)是Android Studio。2013年5月谷歌推出了Android开发环境Android Studio(简称AS)。在2015年之前大部分人都采用Eclipse进行Android开发,但在2015年后,由于谷歌不再维护Eclipse开发ADT工具,大家都必须逐步转向AS,其实转向新的开发工具是很多开发人员所不愿意去做的事情,但当真正接触和使用到AS后,才真正感觉到AS的方便和人性化。AS主要具有下面几个优点:第一,它是谷歌推出的真正为Android量身定做的Android集成开发工具,具有地道的谷歌血统,谷歌工程师还在不断地完善和升级,说明了它的强大生命力和可持续性;第二,它具有漂亮的UI,是一款基于IntelliJ idea的IDE,具有Darcula主题的炫酷黑界面,UI编辑功能相对Eclipse更具有多设备实时预览效果,开发效率提升很多;第三,速度更快,Eclipse的响应和启动速度一直被人诟病,AS在这两方面都进行了很好的提升,大大提升了开发体验,Gradle的加入也为系统配置、编译和打包提供了一个利器;第四,完美地支持各种插件,可以方便地直接下载,具有完善的版本控制,如SVN、Git等主流版本控制插件的任意加入,使得加入新的项目更加便捷。
1.2.1 开发环境的下载和安装
Android开发环境的安装可以分为下面四个步骤:下载和安装Java JDK 1.8、下载和安装Android Studio 3.5.2、配置和安装Android SDK、升级同步Gradle和模拟器,下面介绍前两个步骤,后面两个步骤将在下一小节中描述。
(1)下载和安装Java JDK 1.8
安装JDK只需要到Oracle官网:https://www.oracle.com/technetwork/java/javase/downloads/index.html下载即可,具体步骤这里不再赘述。
(2)下载和安装Android Studio 3.5.2
本书集成开发环境采用Android Studio 3.5.2,可在Android Studio中文社区http://www.android-studio.org/进行下载,如图1-1所示。

图1-1 下载Android Studio
安装步骤具体如下:
1)双击要Android Studio的安装文件,进入安装界面,如图1-2所示。
2)选择要安装的插件,如图1-3所示。

图1-2 安装界面

图1-3 安装插件界面
3)单击“Next”进入Android Studio的安装目录和SDK安装目录选择,选择本地安装目录。
4)单击“Next”进入安装,单击“Install”即可安装应用程序。
5)最后在弹出窗口中单击“Finish”,完成Android studio的安装。
图1-3中各选项如下。
● 第1个选项是Android Studio主程序,必选。
● 第2个选项是提示是否需要安装Android SDK,勾选上将会安装所需要的SDK,建议勾选(不勾选也可自行下载SDK)。
● 第3个选项是提示是否需要安装Android虚拟机,建议勾选。
● 第4个选项是虚拟机的加速程序,如果你要在计算机上使用虚拟机调试程序,就勾选上。
1.2.2 安装SDK和Gradle
Android Studio安装完成后,还需要对它进行一定的配置,最主要的就是SDK的配置和Gradle的配置,SDK就是对本地SDK(如果没有需要下载)和集成开发环境的编译路径关联;Gradle配置就是要找到与IDE、SDK相匹配版本的Gradle,利用Gradle可以完成调试、编译和打包等工作。
1.配置和安装SDK
配置SDK配置是要让IDE知道SDK在本地的存放路径,即将本地下载好的SDK路径配置到应用程序编译路径,具体步骤如下:
1)启动Android Studio,设置Workspace。
2)设置SDK路径,如果没有安装即进入SDK安装界面,如图1-4~图1-6所示。
3)进入Android Studio配置相关界面,如图1-7所示。
4)安装模拟器。
5)运行AVD Manager。
6)新建AVD或者选择已有的AVD。
第1~3步主要是SDK配置和安装步骤,第4~6步是后面运行和调试Android应用程序需要的模拟器的安装步骤。

图1-4 选择Android Studio和SDK的安装目录

图1-5 选择本地安装目录

图1-6 选择快捷方式安装位置

图1-7 Android Studio配置界面
注意:如果Android Studio之前安装过,建议保存运行配置文件,下次安装直接导入配置文件即可,如图1-7所示,导入Android Studio的配置文件:如果是第一次安装,选择最后一项,不导入配置文件,直接单击“OK”即可。
完成了Android Studio的配置后(如图1-7所示),就会进入如图1-8所示页面,这是程序在检查SDK的更新情况。由于Android SDK需要在谷歌官网下载,而国内网络无法直接访问谷歌官网资源,可单击“Setup Proxy”配置代理服务器,如图1-9和图1-10所示。

图1-8 检查SDK更新情况

图1-9 弹出无法访问提示框
2.配置Gradle
Android Studio导入项目或者新建项目时最头疼的就是Gradle的版本问题,新建项目经常在编译过程中报Gradle版本错误,或者第一次新建一个Android的项目会很慢,这就是由于Gradle的版本问题,系统需要在线下载Gradle,而下载Gradle如果出现网络无法下载的问题就会报错,因此通过将Gradle下载到本地,使用本地下载Gradle来解决问题。因此通常需要配置Gradle,具体步骤如下。
1)打开工程项目gradle/wrapper/gradle-wrapper.properties目录下的gradle-wrapper.properties文件,如图1-11所示,这个文件中就存有Gradle使用的版本,该文件中的具体内容如下:


注意:该文件最后一行distributionUrl提示用户这个项目所使用的Gradle版本,当然,不同项目的Gradle版本也可能是不同的。Gradle的下载地址为:https://services.gradle.org/distributions/。

图1-10 配置代理服务器

图1-11 打开gradle-wrapper.properties文件
2)修改Gradle本地保存路径。本地Gradle一般默认保存在C:\Users\本机用户名\.gradle\wrapper\dists下面,打开AS的Setting菜单,找到Gradle就可以查到Gradle的本地存放路径,如图1-12所示。
注意:使用Android Studio新建或者打开一个项目时,系统会首先读取gradle-wrapper.properties文件,然后到Gradle本地存放路径查找是否有该版本Gradle,如果没有就去第1步的官网(gradle-wrapper.properties)下载。
3)配置Gradle。当新建项目或者打开别人的Android项目中出现Gradle版本错误时,就可以很容易地对Gradle进行修改和配置了。显而易见,如果出现Gradle版本错误,只需要按照提示的Gradle版本来修改gradle-wrapper.properties文件中的Gradle版本,让系统找到本地的或者下载正确的Gradle版本即可。

图1-12 打开Gradle本地存放路径
1.2.3 调试虚拟机
下面创建一个新项目,看看如何选择版本并且调试虚拟机。
1)如图1-13所示创建项目,将项目命名为“HelloWorld”,点击“Next”,选择API版本,如图1-14所示,第一个选型是SDK最低版本,现在由于4.4以下版本Android手机几乎没有,因此这里默认选择最低版本4.4即可,然后单击“Next”,进入选择Activity页面,如图1-15所示,这里选择“Empty Activity”,然后单击“Next”,进入创建Activity页面如图1-16所示,单击“Finish”完成。

图1-13 为应用命名

图1-14 选择API版本
2)创建完项目后发现报错,如图1-17所示,打开AS设置,单击“Update”,查找到安装的SDK Tools版本是26.1.1(如图1-18所示),而buildToolsVersion却是28,显然找不到这个版本,解决方式是可以将buildTools和targetSdkVersion版本升级为28,或者将28改为26,并且将依赖包dependencies改为“v7:26.+”即可,如图1-19所示。

图1-15 选择Activity

图1-16 创建Activity

图1-17 创建Project后报错

图1-18 创建SDK Platforms

图1-19 修改build.gradle文件中的SDK Tools版本
3)修改完上面的SDK Tools版本,项目就可以正常运行了,由于上面出现了SDK版本问题,这里先看下SDK版本升级问题。首先单击SDK Manager,如图1-20和图1-21所示,可以根据个人需要选择单击右下角“Apply”按钮,进行SDK安装,同时在“SDK Tools”选项卡安装不同版本的SDK工具,如图1-22所示。还可以勾选右下角的“Show Packages Details”来显示具体SDK工具的详细版本信息。

图1-20 安装SDK

图1-21 选择和安装不同版本SDK

图1-22 选择和安装不同版本SDK Tools
4)项目和SDK版本都没有问题,就可以安装和设置模拟器了,以便于后面的调试和运行Andriod程序。如果没有创建过模拟器,这里就需要创建模拟器,首先打开工具栏的AVD Manager,如图1-23所示,弹出窗口如图1-24所示,单击左下角的“Create Virtual Devices”创建模拟器,具体创建模拟器的步骤如图1-25至图1-27所示。

图1-23 打开AVD Manager

图1-24 选择Virtual Devices

图1-25 选择Hardware

图1-26 下载Image

图1-27 设置Verify Configuration
5)模拟器配置完成后,就可以将程序在模拟器中运行了,单击工具栏的运行按钮,选择模拟器,选择完模拟器单击“OK”按钮,如图1-28所示。

图1-28 选择模拟器
6)IDE编译运行程序,并且在模拟器中运行,运行结果如图1-29所示。运行过程中如果报错,可以查看IDE中logcat日志,通过日志找到出现问题的地方,logcat日志如图1-30所示。

图1-29 模拟器中运行结果

图1-30 logcat日志查看出错信息