![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=1739284584-ZKDTjkT7XUvlNKvP5pYcM5v9Uiom4i7v-0-7dcf1c96560de0964198a04e20ff4e85)
图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=1739284584-d4TMC6PF05EpgS95Rr6r6f2UVOzjNzRP-0-aab8dd846a8438f805185ee9349a4704)
图1-2 安装界面
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/12_03.jpg?sign=1739284584-WV5spudxOjtXHtaXRTiTLo06GGOPHeGK-0-e0f8e9f109e2800a5c7d9df212485a50)
图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=1739284584-qxiHopiRewzt0pWaHsbnM1fVupNkumyT-0-708e803abda69449d521e01dfe9db4b2)
图1-4 选择Android Studio和SDK的安装目录
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/13_02.jpg?sign=1739284584-IiipY7Wvi8wjCF9bWDmrhyre4siD23Wp-0-99ef3b960b0b0fb1be57b3272aa13578)
图1-5 选择本地安装目录
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_01.jpg?sign=1739284584-FyOihhhiWzVJXmvaGkkFF5cW0PQ4N5lY-0-1db698c577fdfd5755db6b95daadc65c)
图1-6 选择快捷方式安装位置
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_02.jpg?sign=1739284584-WIn1WvDsuq0LQRn1KDIzR1ri9TWkMfPl-0-ec0e78a689b1c12af02cdc666e2eb5e3)
图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=1739284584-WLqVqnFHJSu3CGTfv5s8eGlhQt1wGKUo-0-53a6292bf79826dbda122fed299f3d8e)
图1-8 检查SDK更新情况
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_05.jpg?sign=1739284584-2qef5FfxRAa0ojStrQaFiYU66Y2nbMci-0-2ac640f05983da2d33e6b9b6e9bf2b68)
图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=1739284584-8wKWu5HIgAAQuDz2kqx4oWujHjUR7VSW-0-20d66ccb57682e8d001320fef2463705)
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_01.jpg?sign=1739284584-3vqK9e8EDBJQ2UlGd7pMJu2K1ddJARC3-0-de5c3314a2c7bce120aeb7b4dcee67be)
注意:该文件最后一行distributionUrl提示用户这个项目所使用的Gradle版本,当然,不同项目的Gradle版本也可能是不同的。Gradle的下载地址为:https://services.gradle.org/distributions/。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_03.jpg?sign=1739284584-ZZOaYvRb3gTvoiZ4atKYdYaBXPu9UVX2-0-e9ba39de295b2ac3f2b97779af170237)
图1-10 配置代理服务器
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_04.jpg?sign=1739284584-zPj1p0G7jnWmjoeuuDCisos2eFmEiPdf-0-df941b8c117adc6e9ada1408280974f9)
图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=1739284584-wmecdxiUCAqiy02HjJkixNaFkCo8H29X-0-1f26926e4d908c1d2ecace13c5ef3aa9)
图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=1739284584-D1BWN1N4bw6nijHGrkEn102py7ylHwYT-0-bd19e9e0641138274085f32ec12a665c)
图1-13 为应用命名
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/16_03.jpg?sign=1739284584-O5GFwzuQnFCrR3XianBNfYaBcnj8PRIN-0-b59bda6951279e989ce1009ced1791ad)
图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=1739284584-VLeei81UoyarYE0Y5vx416EhMvm89tGU-0-b0d2b8ce8c05dd3f32095eb90a786e91)
图1-15 选择Activity
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_02.jpg?sign=1739284584-2rDayUTi7bK1yToEiFCTyI3y7UQlVmDs-0-c868415bcab007c7393414680363aef6)
图1-16 创建Activity
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_03.jpg?sign=1739284584-9JHE7qE9atrmupjgRMDyOoLsBfybXMXy-0-7f9b7cce4694d62faf687100c4af7f0c)
图1-17 创建Project后报错
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_04.jpg?sign=1739284584-R0uqNNc5Gxmtcvxm6uOAvE7UUVJhR4lA-0-8887dce3bcd147a1036507db08e1662e)
图1-18 创建SDK Platforms
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_05.jpg?sign=1739284584-vH8SvelEmh9pqm2jVqx4aQWoMlb730xS-0-4e9d38e30a34a1697141b5a0f1bd1633)
图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=1739284584-FzTZBkJnGC2YKlHypxoQoNxTDWCEDN6b-0-3bab424bd06f192cd7fd12c1e6739fc4)
图1-20 安装SDK
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_02.jpg?sign=1739284584-n83krHKqQcFxfAsN6BHhSpxq52eQ5eDc-0-10434004437ba210195ced090df5eff4)
图1-21 选择和安装不同版本SDK
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_03.jpg?sign=1739284584-u6KA18YoIVMcG3Dwe85FxTad9ngozGVr-0-9336581d94c75184ba32f1a831d2db95)
图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=1739284584-u33UhcBc65Hl3WvxWpwWqdTrQudkFBpc-0-1a45507f21a0daa2604a700a0914e58d)
图1-23 打开AVD Manager
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_05.jpg?sign=1739284584-WqYzYneZa8QoOxSnug6ldv0HE8wHrSr2-0-2f7f8b20206b801f567f0d4975a78dca)
图1-24 选择Virtual Devices
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_01.jpg?sign=1739284584-sYMno32mevjYlUQ5LPHBuks9NT8R41kz-0-34b6df359297cb81653c0093db6227f4)
图1-25 选择Hardware
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_02.jpg?sign=1739284584-O8WVMwh7Rd9Lp6yieTOmvDziOJkci2CN-0-b2c49720b58fbff34147a1c2868d4b0b)
图1-26 下载Image
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_03.jpg?sign=1739284584-m64vZzseJVWh1zWr7lyIKouspVOskoE9-0-becccfd732c5a85fb731dc034c8a3636)
图1-27 设置Verify Configuration
5)模拟器配置完成后,就可以将程序在模拟器中运行了,单击工具栏的运行按钮,选择模拟器,选择完模拟器单击“OK”按钮,如图1-28所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_05.jpg?sign=1739284584-aMOxNAZ92drh173HKNDLT9ve5L2F8phD-0-87ca8606ef1503861d17109132bc2d35)
图1-28 选择模拟器
6)IDE编译运行程序,并且在模拟器中运行,运行结果如图1-29所示。运行过程中如果报错,可以查看IDE中logcat日志,通过日志找到出现问题的地方,logcat日志如图1-30所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/20_01.jpg?sign=1739284584-PwEDMMyeG8m0fDoX64FOZXS88i8dnqcZ-0-b56ead72017ceb7cb59febfe92f11892)
图1-29 模拟器中运行结果
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/20_02.jpg?sign=1739284584-us5wZ1x3ndISWAhSx1MSOYZkSgYQD6vh-0-3dfcbd2d3c74de19ffaa0a625292e79e)
图1-30 logcat日志查看出错信息