![Android移动应用开发技术与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/15/40681015/b_40681015.jpg)
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所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/12_01.jpg?sign=1739358671-20m8e5OTBcX1bUIcvPHRErKoupIQt29r-0-cf9ae7ad709451ebeb8ceaf11a10b37d)
图1-1 下载Android Studio
安装步骤具体如下:
1)双击要Android Studio的安装文件,进入安装界面,如图1-2所示。
2)选择要安装的插件,如图1-3所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/12_02.jpg?sign=1739358671-6n4yeEdV5GAW76doAH2kozrWZ8PrLqtX-0-f695772ae0639aa48b61375dabe11869)
图1-2 安装界面
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/12_03.jpg?sign=1739358671-F2jR9Vn3m92YE7EErHqhQ2Zhw93PMPMP-0-8729f40a495191e1e66e4e261ed96c43)
图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应用程序需要的模拟器的安装步骤。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/13_01.jpg?sign=1739358671-2Wns929E4KqOpHF0DKQ4DE1oZ4pmv4W5-0-3dc8add3d40c5569a136645b588c5c20)
图1-4 选择Android Studio和SDK的安装目录
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/13_02.jpg?sign=1739358671-SUQURHdr3tdTtUPVQ3AZMLycs5EE1ui1-0-81ca6629223e83772e6b1bdb98854fde)
图1-5 选择本地安装目录
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_01.jpg?sign=1739358671-s2MfToBxx7GMUOeIrprncevYz5S5CFtl-0-82a27d1bd4e87b131f45a0c3fc1416fe)
图1-6 选择快捷方式安装位置
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_02.jpg?sign=1739358671-nNlRPZQqSLWfXEWykNZkl37FNPUbSO9r-0-28441e655a995d5f796feca9d9ace552)
图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所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_04.jpg?sign=1739358671-FzZiwXNqtBw36Zjryoo2nLTry38O83br-0-5db2b12d9170fb631c245d97e1c7aaad)
图1-8 检查SDK更新情况
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_05.jpg?sign=1739358671-GG8tasdX55nF7u9dOWlREtATcqvmtL2D-0-4d2455abc2b7452c1d697b0eac939a87)
图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使用的版本,该文件中的具体内容如下:
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_06.jpg?sign=1739358671-WlrAzjtjeqZtpJhMne1HBFJnRqIliilQ-0-642e40443dbfb1084e1de65e5ce23cb6)
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_01.jpg?sign=1739358671-zle3v7LcFzb516NIG92EvTZQsYiQuBUL-0-993467f438ad62d0956beb025b09c327)
注意:该文件最后一行distributionUrl提示用户这个项目所使用的Gradle版本,当然,不同项目的Gradle版本也可能是不同的。Gradle的下载地址为:https://services.gradle.org/distributions/。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_03.jpg?sign=1739358671-7KIx74nNbTr5HxnETY61TB04HNarsyIf-0-51ce2b89e3ff4724591333651c4e60b1)
图1-10 配置代理服务器
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_04.jpg?sign=1739358671-35OF5XNR2PPl71mo4TAPbQe2yXH59Aqp-0-8e38e90c3325b7b3abc6aba24dbf6580)
图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版本即可。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/16_01.jpg?sign=1739358671-XQyRTSunZoFw3STrdkJEp0S2ccCGoYzY-0-129c746378dd376fb98b25a99c72b454)
图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”完成。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/16_02.jpg?sign=1739358671-RQoAkTwLrmrGArDFYHwkKXdyR60DOT6N-0-bc4652c1eb3d817ee69bc70f8e5a4580)
图1-13 为应用命名
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/16_03.jpg?sign=1739358671-9nhvbVbVebrNU7elYW3ovzJj0dzdCG4H-0-0785b1bfb8ae9acc318de3c3bb06f1a6)
图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所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_01.jpg?sign=1739358671-A9DaEyVVJOsnpdCJ0oVxdp13OiklgXPp-0-0d4bc1d39e5ffe085914638f24b82f96)
图1-15 选择Activity
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_02.jpg?sign=1739358671-PisTlymnXYg1W9TCUEA3rgErl3QkXyGX-0-881c04414f6b64d2cf13e6e3fa70fc28)
图1-16 创建Activity
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_03.jpg?sign=1739358671-wdygQR0tGjAEu6lJZicGF3ifVl8KUKMs-0-a44203e59a7cc0f28d0fb2cacb428c50)
图1-17 创建Project后报错
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_04.jpg?sign=1739358671-HXM3pUF8NQsD7M8GurLDTw2zpNA7GorM-0-7b1fa78bdcd9325cb6179cede9a6d9c8)
图1-18 创建SDK Platforms
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_05.jpg?sign=1739358671-qKlo0vD670xOQPWJIbgWUiwMSZbtsc7J-0-5e23780d2efec72b6bfbb03a7287062e)
图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工具的详细版本信息。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_01.jpg?sign=1739358671-eXRm4pMsWwyo1wdu4hL8B0TtAwpwFRP5-0-3156f17896cdfb25c6f2966131929fee)
图1-20 安装SDK
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_02.jpg?sign=1739358671-6wguU4nL38fQh0ihtoeYiEphkYlyL1Sh-0-f098b8984eadf59cc88305be9b2bea59)
图1-21 选择和安装不同版本SDK
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_03.jpg?sign=1739358671-VOM6hcZ65PpQ30BXr7VbINI31BTiP5qe-0-28354b880f5e77fdd451f00458c2bf84)
图1-22 选择和安装不同版本SDK Tools
4)项目和SDK版本都没有问题,就可以安装和设置模拟器了,以便于后面的调试和运行Andriod程序。如果没有创建过模拟器,这里就需要创建模拟器,首先打开工具栏的AVD Manager,如图1-23所示,弹出窗口如图1-24所示,单击左下角的“Create Virtual Devices”创建模拟器,具体创建模拟器的步骤如图1-25至图1-27所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_04.jpg?sign=1739358671-55snx7TCl3LdW7hGUcw5EAdu8CPH3scX-0-d19b40b171773af57c96346378f3026f)
图1-23 打开AVD Manager
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_05.jpg?sign=1739358671-jHMFqGQrEn02hWkv69cqu6Bw8WutbRZu-0-29a1370a91d00220b22c2e8a1bf008dc)
图1-24 选择Virtual Devices
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_01.jpg?sign=1739358671-1qGTj9UfNA9kuUeXSKdJnOl8mkXoHIS2-0-c3d7c811e93b13a894e7113f936abfbc)
图1-25 选择Hardware
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_02.jpg?sign=1739358671-JK1zHrlQ4CMiDVXvI1aYSVZfJFCBI7Lw-0-218776c3cff3fce038e321d943791427)
图1-26 下载Image
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_03.jpg?sign=1739358671-DQaUdcgTPbaIjsqie4hjy37ALqMiEfXC-0-f62954aae8bdd3efe5f8fd85f7b3b615)
图1-27 设置Verify Configuration
5)模拟器配置完成后,就可以将程序在模拟器中运行了,单击工具栏的运行按钮,选择模拟器,选择完模拟器单击“OK”按钮,如图1-28所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_05.jpg?sign=1739358671-GDOfcpxpJUTimtuJGDFmGpBq0OyRH4uW-0-c350a9c29c7c1fa64dd5e81baec6c077)
图1-28 选择模拟器
6)IDE编译运行程序,并且在模拟器中运行,运行结果如图1-29所示。运行过程中如果报错,可以查看IDE中logcat日志,通过日志找到出现问题的地方,logcat日志如图1-30所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/20_01.jpg?sign=1739358671-AHlOkot0zy12t7iEHIKETtdJ28mYhMGQ-0-72620ecb6181572d480f23f306424972)
图1-29 模拟器中运行结果
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/20_02.jpg?sign=1739358671-VR2KdC9dnxC546t6HiI5xiQRQdjnAADm-0-2e63323c003f3816f6f6d23fec2bf3fc)
图1-30 logcat日志查看出错信息