![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=1739289267-XF0PIieDsr5tmocjEvkHaMHTUeUckgEw-0-5959466555f2e0dd7bdbc16df448aac0)
图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=1739289267-noVwRxAh7ClXe4OFO3OhRbwZEvhjAr2P-0-9206e12c131a8880d8650375e93b0cac)
图1-2 安装界面
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/12_03.jpg?sign=1739289267-fRFwBJgO6MYkXJYeQwHzv84UWDwVR5iN-0-f84c371c953463044e07adf3487236dd)
图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=1739289267-wUKRfnYn5uYdfQQTH2hLwXtL8jO8GP9R-0-dcf47f5a89c4be448361470c0cec618b)
图1-4 选择Android Studio和SDK的安装目录
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/13_02.jpg?sign=1739289267-LDPloM1EOIRpDsvLrMhXT3cujX9R51IG-0-5a0575de6cc9982ebca342f0c176311f)
图1-5 选择本地安装目录
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_01.jpg?sign=1739289267-WN6C74hGztacBkDoUAxoYbfEKWZshYZs-0-4b13e2ece7610e009500a66f21003c5d)
图1-6 选择快捷方式安装位置
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_02.jpg?sign=1739289267-YryTODydoYU96QZwgV5BL8cB3xviNQMc-0-6f953f76e1b55cfe6a22cd77f12f6f5d)
图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=1739289267-fthZ7HcDkdfQ6WH5Q91eT7gQtn21x6nZ-0-0a2671f458852463b144fffe8d387c2f)
图1-8 检查SDK更新情况
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_05.jpg?sign=1739289267-8FoKHdDfDdCwNm3v7cHHouBzkivqqoI8-0-2f17faa340db04f969e36ed704d35df7)
图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=1739289267-MiliJZwx7NpxKfeOO4IqZERAYOPGYgmn-0-8ae15cc3b91ef3b4abad7a6689c7dbd7)
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_01.jpg?sign=1739289267-ntxRO2gd7fvGZU19MrOK7u1tCBih48T1-0-4740ed7a6a36db2d6f90ef5586253ccd)
注意:该文件最后一行distributionUrl提示用户这个项目所使用的Gradle版本,当然,不同项目的Gradle版本也可能是不同的。Gradle的下载地址为:https://services.gradle.org/distributions/。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_03.jpg?sign=1739289267-cbrL4o5z8LbuNfKXirvMuHQKFuS9LxTS-0-41bf627777199bf07635bb5318a74153)
图1-10 配置代理服务器
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_04.jpg?sign=1739289267-0micufrKDoKfCo5zIxmPOI8WbAan0Qgf-0-a1148847c15efbac27a8067c950fb516)
图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=1739289267-bGOEkL54p1t3A8RiWCOJmwydBSHniU7x-0-d5ef140afca18a9aaa53e2e067f47d08)
图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=1739289267-ZUV8nOd5rDf1HnVr1ej1d2vXTeK82FPq-0-f769af27d51b4acd3f621909f60fb184)
图1-13 为应用命名
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/16_03.jpg?sign=1739289267-LP2Dqa8cLKEGQlqILxtOlQkVZ0n3NKFh-0-bb7c1fc92e3b48a5a98ab9446caac201)
图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=1739289267-iHf4X3eIykLSkIgiY2njHJgejVzPE8XC-0-79bd3026a21563dd79a367bdd4d5d800)
图1-15 选择Activity
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_02.jpg?sign=1739289267-BUGrjsbVhyHjtjHtr1ZqQwkunzBBKfJU-0-e326b65b0d413cc03ea90e52753184a7)
图1-16 创建Activity
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_03.jpg?sign=1739289267-RxT5o2eyZj7dsgQmszj69sGNxcrjbpRm-0-810d2cbdd3249886f8ea6bff6db1f90f)
图1-17 创建Project后报错
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_04.jpg?sign=1739289267-5kUJroGPhEeRQqJgobpvw24rm8LisxK0-0-697b44ae4a15173c0a8aa63cb87d512a)
图1-18 创建SDK Platforms
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_05.jpg?sign=1739289267-XlBcFEpcgEbc08bP2TAOI1j7wfNm41ge-0-c26065ea1a2ba0a339eb50b7d6ec9d77)
图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=1739289267-35t5wbktgkSwdz8esCHe6m732iiL7dm1-0-5c215a0790f542c4976e129e58b49f10)
图1-20 安装SDK
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_02.jpg?sign=1739289267-ypIwCUumYzq0GwU4JdfAjfZqh15FVeqs-0-f43457c7212adef1c4161f9ddf6af0bb)
图1-21 选择和安装不同版本SDK
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_03.jpg?sign=1739289267-mOw8t0ttnnQSCt3ReBET4K0lopDykHYx-0-922ff4a6c476972ffce60c672775e4d7)
图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=1739289267-hbz8gscUIuaOk5hBzxkvSgNpH7I5Q80B-0-b13ab433afa743353610d115872cde39)
图1-23 打开AVD Manager
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_05.jpg?sign=1739289267-lb9ES1XG2AvevrBXk2BcwjS6nLnJsLGb-0-a6537e9d2093c3689fcbcfd05c151662)
图1-24 选择Virtual Devices
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_01.jpg?sign=1739289267-baNkefJ3nMaKa7YZTqhur6ibuxPRxb71-0-0b2acc03e54c9d73f546e5711f485fcb)
图1-25 选择Hardware
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_02.jpg?sign=1739289267-KBf4ldqDzsQjHuJQNpSPDqA73GtLBQvA-0-737326e99f69f97311f02567a3074c35)
图1-26 下载Image
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_03.jpg?sign=1739289267-cd9B4fQWz4NAhIihoXFoQZsENZvEuk4J-0-04220e561afbf766edca4e0538907ff1)
图1-27 设置Verify Configuration
5)模拟器配置完成后,就可以将程序在模拟器中运行了,单击工具栏的运行按钮,选择模拟器,选择完模拟器单击“OK”按钮,如图1-28所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_05.jpg?sign=1739289267-CDXBLbUC5ypBlT1vNDd1baXoLq5iWXfe-0-f9014f697275e367773966efef86ad53)
图1-28 选择模拟器
6)IDE编译运行程序,并且在模拟器中运行,运行结果如图1-29所示。运行过程中如果报错,可以查看IDE中logcat日志,通过日志找到出现问题的地方,logcat日志如图1-30所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/20_01.jpg?sign=1739289267-Xdxae9rdAj8BSN1NrKVMU6eV7VSeT9XL-0-9a31f6d89cd97758583a65d09a0fae91)
图1-29 模拟器中运行结果
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/20_02.jpg?sign=1739289267-XpKlXw4ipdJV102Nh9IxNlEOTgHO8tEf-0-1fbaac0efcacffa7f136c118165e002e)
图1-30 logcat日志查看出错信息