Android Studio 踩坑指南
一、介绍
Android Studio 用于开发安卓 app,看外观和内部一些窗口和 WebStorm 很相似,直观感受打开速度更快,也提供了一些新的功能。
1. 了解安卓
安卓-维基百科 跟故事书似的,介绍安卓发展历史、SDK 概念,安卓版本与 sdk 版本区别,简言之如下:
- 安卓是一个操作系统,基于 Linux 内核开发的开源项目;
- 安卓系统 2008 年对外开源,短短十年间使用人数超过 windows 桌面系统人数;
- 应用程序 app 是在安卓系统上运行的软件,这一点和桌面操作系统一样;
- 要在安卓系统上开发 app,需要操作系统提供底层 api,这个东东叫做 SDK,比如要调用系统时间,调节系统亮度等接口。
2. 什么是 SDK
在安卓系统上开发 app,需要操作系统提供底层 api,这个 api 就叫做 SDK(Software Development Kit: 软件开发工具包)。
安卓版本
:安卓是操作系统,每隔一段时间就会发布个新版本,或修复底层bug,或新增功能,这些修改更新都是针对操作系统 内部
的。2018年8月发布9.0版本安卓操作系统,操作系统名称Pie(奥利奥)。
SDK版本
:下表中第四列API水平即SDK版本。每个版本的操作系统对外提供底层接口也会不断变化,这些变化是安卓操作系统 对外
透露的接口变化。

在后面搭建开发环境过程中,会选择安卓系统版本与SDK版本。仔细想一想,安卓版本选择低版本,这样开发出来的 app 在低版本的安卓手机上也能运行,你可以在手机设置里查看你手机使用的安卓系统版本,dk 手机还在用安卓 6.0 版本的系统。
SDK版本尽可能选择高一点,版本越高支持的功能应当也会更多一些。
SDK 现在搞清楚是安卓系统对运行在其上 app 提供的底层接口,实际搭建环境时还会遇到几个名字差不多的东东,如下三个工具包在实际开发中都需要下载。
- SDK tools:底层操作系统提供的接口;
- SDK build tools:SDK 编译工具,写完代码要转成 .apk 安装包在安卓手机上安装;
- SDK platform tools:这个不明白干嘛用的?猜测是跟应用商店有关?
3. 什么是 AVD(Android Virtual Device)
安卓虚拟设备。实际开发过程,写一点代码希望看一下效果,当然可以打成 apk 安装包在真实手机上测试,这很麻烦。Android Studio 开发工具可以设置安卓虚拟设备,在电脑上模拟出一台手机,直接看到运行效果,提高开发效率,如下图示:
关于 AVD 更多信息详见 AVD 官方文档。

4. 什么是 Gradle
安卓可以用 java 写,写过 java 的对 Maven 应该不陌生 —— 项目管理工具。Gradle 和 Maven 一样也是项目管理工具,安卓开发工具 Android Studio 默认使用它。
- Gradle-维基百科
- Gradle 官网:跑 demo 代码,启动应用程序需要用到 gradle,遇到不少坑,下面提供解决方法。如果后面实际写代码,项目管理工具还是需要系统学习一波的。
5. 前端安卓开发框架
目前 dk 了解的前端开发安卓 app 框架有下面两个,无论哪一个,第一步都需要搭建好开发环境,下面介绍开发环境搭建。
二、安装
1. 下载工具
安卓开发工具 Android Studio 各个操作系统下载指南。在官网上有两个东东需要下载,页面往下拉,找到标题是下面两个文字的地方,分别下载对应操作系统的工具。
-
Android Studio downloads
:开发工具。下面以 macos 系统为例说明; -
Command line tools only
:命令行工具。前面提到要用到 sdk tools,原本,这些工具包在第一次启动 Android Studio 开发工具会自动下载,但 dk 试了很多遍都没能下载成功(配置了翻墙工具也没能成功)。命令行工具可以手动下载,还是很方便的。
2 命令行工具介绍
命令行工具下载到本地,目录名称为 tools,可以将 tools/bin
添加到环境变量,这样就可以使用 bin 目录下的 sdkmanager
工具了。sdkmanger 常用命令如下,关于 sdkmanager 更多信息详见 sdkmanager 官方文档。
# 查看帮助文档
$ sdkmanager --help
# 查看所有可以安装的包,如下图示
$ sdkmanager --list
# 安装 android build tools 28.0.0
# 双引号里面的东东为下图第一列中的值
# 这么安装确实成功,但安装到哪去却不知道
$ sdkmanager "build-tools;28.0.0"
# 指定安装目录,下载的包会移动到指定目录里
$ sdkmanager "build-tools;28.0.0" --sdk_root=/Users/dkvirus/Library/Android/sdk

三、使用心得
1. 常用快捷键
-
command + ,
打开设置面板,最最最常用,记住
; -
command + O
根据类名(class name)查找文件(是喔不是零); -
shift + command + O
根据文件名(file name)查找文件; -
shift + space(空格键)
代码智能补充; -
ctrl + 选中方法
进入该方法; -
shift + shift
search everywhere; -
command + 1
显示/隐藏左侧项目视图框; -
command + E
最新打开的文件。
command 键在 Windows 系统中就是 win键(左下角有图标那个键)
。
2. 配置 SDK
1.1 命令行工具下载 sdk 包
第一大点第2小点提到实际开发需要用到 3 个 sdk tools,这里分别下载。后面 --sdk_root 目录可以自己指定,mac 电脑上默认 sdk 路径 /Users/[用户名]/Library/Android/sdk
。
$ sdkmanager "build-tools;28.0.3" --sdk_root=/Users/dkvirus/Library/Android/sdk
$ sdkmanager "platforms;android-28" --sdk_root=/Users/dkvirus/Library/Android/sdk
$ sdkmanager "tools" --sdk_root=/Users/dkvirus/Library/Android/sdk
1.2 开发工具配置 sdk 目录路径
上面指定 sdk 包下载到哪里去了,在下图中配置 sdk 目录路径,让 Android Studio 可以找到你下载的 sdk 工具包。

3. 配置 AVD

点击右上角 AVD 管理图标打开面板,在打开的面板点击左下角的 Create Virtual Device
新建一个虚拟设备。
选择一个设备,点击 next 选择系统镜像,这里选择 Nexus 5X。

选择系统镜像。选择 x86 Images,dk 第一次打开时红字2地方啥也没有,这时通过 sdkmanager 工具手动下载 Image,重启开发工具。$ sdkmanager "system-images;android-28;default;x86" --sdk_root=/Users/dkvirus/Library/Android/sdk
。

出现之后选择 next 即配置完成。此时再点击右上角 AVD 管理图标打开对话框,点击下图所示启动按钮,稍等片刻就可以在电脑上打开安卓虚拟设备了。

4. 配置 Gradle
在跑示例代码时启动报错,定位是 Gradle 的问题,下面为对应解决方法。
- [Android Studio系列(五)] Android Studio手动配置Gradle的方法
- 初学flutter 刚折腾完环境遇上如下问题,* Error running Gradle: 不知道如何下手寻找!
- Gradle 插件版本
5. 配置 Flutter 开发环境
使用 Android Studio 开发 Flutter 应用程序需要安装两个插件。

在打开的新对话框输入 Flutter 搜索,点击右边 install 按钮进行安装,这个过程会顺带把 Dart 插件也装了,安装完重启应用程序,在 File > New > New Flutter Project 可以直接创建 Flutter 原型项目,简单、粗暴。
