![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=1739286459-Rmm67hjAFcFZ6HjkzjYn6Olc80DXlDYY-0-8edc80c0e1cc406e18648de3e0bf3f3e)
图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=1739286459-neCQI2XZceWdkVe6guOO7ipr7JxXVlz0-0-3bc69c6bf69473f21fe7dc42caba9401)
图1-2 安装界面
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/12_03.jpg?sign=1739286459-1vnbSTy5BT6qulxcykMQFvR7G8BATQ53-0-8e6023dba432597d92173cd0dbd4757a)
图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=1739286459-QlYWotWGvbiCGom6zFyTE03i8m2WPt0j-0-fe956a3e1406486a6a8f3f879906a374)
图1-4 选择Android Studio和SDK的安装目录
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/13_02.jpg?sign=1739286459-fUu8IJ6rfdcJZtx8jMCal6YncOeO8SMQ-0-def21cad26fc0bcfe842f86daffffef9)
图1-5 选择本地安装目录
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_01.jpg?sign=1739286459-tqg8UEnIWp4VlFxtOEMOmQc3adwVsfzs-0-a641ab07ea26bfbd6c26d3a52aeb59fd)
图1-6 选择快捷方式安装位置
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_02.jpg?sign=1739286459-5KrXnEV7az6GKFr0D5Ars3JBLHpqyPxS-0-5317a3e16542f53b0b72f1e8df05b283)
图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=1739286459-LchuLzlcKKZCSfiX33vIM97ienycYkz5-0-c2bebd20520b519787fc39ff4da8f10f)
图1-8 检查SDK更新情况
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/14_05.jpg?sign=1739286459-kjNRWajP3CtxMj6AwKLDflAc9P0M1oSV-0-0a5d47e6a9a3a64173bd801d1fbea784)
图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=1739286459-1IyyvCtx6BLZq7pgGv2BqIdhoTdmWoaR-0-475a479091b8b5caf8296cf09f16967d)
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_01.jpg?sign=1739286459-DxtmC6lLHMyTbguVWEws5WVaGa8v3LKT-0-8394a21ace7ecf42937f557e8ecd1f0a)
注意:该文件最后一行distributionUrl提示用户这个项目所使用的Gradle版本,当然,不同项目的Gradle版本也可能是不同的。Gradle的下载地址为:https://services.gradle.org/distributions/。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_03.jpg?sign=1739286459-qT55TeJ1IN2otHOvIADjHRl5ts08eVhW-0-1e0dc9b4866fb37287a3a7a6c8c61f53)
图1-10 配置代理服务器
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/15_04.jpg?sign=1739286459-9os7jfioUY2Y3QFDUUWT8EU7gekwTVI4-0-d742c58047a4c619dbbb31574729beca)
图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=1739286459-XDjJT5aUJiFc1Lxbj3IqVdHfP6uCJoKa-0-51b53ea677dce10d1184a7a47379efa8)
图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=1739286459-AIPe3cOGIBJjd9mWZFobFuEsQUpcvgax-0-736940d881b64e589204ba97b016fc45)
图1-13 为应用命名
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/16_03.jpg?sign=1739286459-S6dLjZ2eCiCamth2op4thF2dSqKvmaAu-0-4f0b8de04bd574076633a226606e26e7)
图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=1739286459-g4ux3SBYXwENKwaecxaxbeOxaE5wVBDR-0-ebc4842683a8e1e1c12175f37ae14a66)
图1-15 选择Activity
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_02.jpg?sign=1739286459-M2JzIBPo2MoS3M2a65W7CCcO0dGTFOgu-0-045a97eb4c9673c53aa1169a2d361c79)
图1-16 创建Activity
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_03.jpg?sign=1739286459-Yblg8pTY5EWfQ57jBluCD3Hn4Ajzp5uP-0-16534be51c6f9222fb033b93bb847896)
图1-17 创建Project后报错
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_04.jpg?sign=1739286459-ycB4DhpzIoMcmW9P9zFv8NQUs2cuyovA-0-e3363f8d0129f98b32b21a495cb80fa8)
图1-18 创建SDK Platforms
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/17_05.jpg?sign=1739286459-1iHxSENJzZkp5HxeRvtTezEoJk56u3nT-0-9e29b940c3786813019bd65e0b1fa1b9)
图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=1739286459-kNbsvfblhd7P8eHGPEhSCVyFrO3vfMfN-0-86ffa5771f208a3bec6dbf0e3364a0e2)
图1-20 安装SDK
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_02.jpg?sign=1739286459-pOmqZZP4QbUuCkHpFUkvjWInw3QTO3jk-0-630701f684f8e7f107dd246af94456ee)
图1-21 选择和安装不同版本SDK
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_03.jpg?sign=1739286459-Ofphbky937RFJqpU12v59FZZH9kdk7T5-0-bedc844893774da88d3c80e10532dc89)
图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=1739286459-07vDvjlD2pjKQMQfMFsuX7e3jrdyNFdL-0-f479c83c7d26a8231722890c104c39b1)
图1-23 打开AVD Manager
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/18_05.jpg?sign=1739286459-a4Wh60WNvjIftsj0RY6t1tg78rUCUkX6-0-f9ffe8c5f01d80d2e637a0f4825d8818)
图1-24 选择Virtual Devices
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_01.jpg?sign=1739286459-ZznOnlWUC965oPpchwjSTnjJDDmsG0iX-0-14b541d331617d58fb9508be6f4fced9)
图1-25 选择Hardware
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_02.jpg?sign=1739286459-ghSp9cLLu2odZPxSg4mwYTXJQOVE4PBw-0-7095918a3a92d7c7813e1d49461a25f0)
图1-26 下载Image
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_03.jpg?sign=1739286459-ZCna6CxIgOtuG57GPoyAOG3Hx879MgX0-0-4b504e0255436f954cb73e2c05fb0feb)
图1-27 设置Verify Configuration
5)模拟器配置完成后,就可以将程序在模拟器中运行了,单击工具栏的运行按钮,选择模拟器,选择完模拟器单击“OK”按钮,如图1-28所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/19_05.jpg?sign=1739286459-KmXVG1gTTaD3IFO7wMu9TFxRmCNFYn1O-0-2b89d2ccf2eef7088c8ea3f6e0e4d0ed)
图1-28 选择模拟器
6)IDE编译运行程序,并且在模拟器中运行,运行结果如图1-29所示。运行过程中如果报错,可以查看IDE中logcat日志,通过日志找到出现问题的地方,logcat日志如图1-30所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/20_01.jpg?sign=1739286459-cemZnkD7yb8c0BPJSWKXEp061HNXKJb9-0-35b25e1c9ec03a75765eeca0564f5c4b)
图1-29 模拟器中运行结果
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/20_02.jpg?sign=1739286459-97hp0ZoJ697o2eddMtQmGSNO4Gkd0Ffy-0-5a5e49a73490c1785ddb537ec3a7b59e)
图1-30 logcat日志查看出错信息