Skip to content
<

Android 开发环境搭建

本章介绍了如何在个人电脑上搭建 Android 开发环境,主要包括:Android 开发的发展历史是怎样的、Android Studio 的开发环境是如何搭建的、如何创建并编译 App 工程、如何运行和调试 App。

Android 开发简介

本节介绍 Android 开发的历史沿革,包括 Android 的发展历程和 Android Studio 的发展历程两个方面。

Android 的发展历程

安卓(Android)是一种基于 Linux 内核(不包含 GNU 组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国 Google 公司和开放手机联盟领导及开发。Android 操作系统最初由 Andy Rubin 开发,主要支持手机。

  • 2005 年 8 月由 Google 收购注资。
  • 2007 年 11 月,Google 与 84 家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良 Android 系统,并发布了 Android 的源代码。
  • 第一部 Android 智能手机发布于 2008 年 10 月,由 HTC 公司制造。Android 逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表、车载大屏、智能家居等,并逐渐成为了人们日常生活中不可或缺的系统软件。
  • 2011 年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一。
  • 2013 年的第四季度,Android 平台手机的全球市场份额已经达到 78.1%。2013 年 09 月 24 日谷歌开发的操作系统 Android 迎来了 5 岁生日,全世界采用这款系统的设备数量已经达到 10 亿台。
  • 2019 年,谷歌官方宣布全世界有 25 亿活跃的 Android 设备,还不包含大多数中国设备。

Android 几乎每年都要发布一个大版本,技术的更新迭代非常之快,表 1-1 展示了 Android 几个主要版本的发布时间。

Android 版本号对应 API发布时间
Android 13332022 年 2 月
Android 12312021 年 10 月
Android 11302020 年 9 月
Android 10292019 年 8 月
Android 9282018 年 8 月
Android 826/272017 年 8 月
Android 724/252016 年 8 月
Android 6232015 年 9 月
Android 521/222014 年 6 月
Android 4.419/202013 年 9 月

Android Studio 的发展历程

虽然 Android 基于 Linux 内核,但是 Android 手机的应用 App 主要采用 Java 语言开发。为了吸引众多的 Java 程序员,早期的 App 开发工具使用 Eclipse,通过给 Eclipse 安装 ADT 插件,使之支持开发和调试 App。然而 Eclipse 毕竟不是专门的 App 开发环境,运行速度也偏慢,因此谷歌公司在 2013 年 5 月推出了全新的 Android 开发环境—Android Studio。Android Studio 基于IntelliJ IDEA 演变而来,既保持了 IDEA 方便快捷的特点,又增加了 Android 开发的环境支持。自 2015 年之后,谷歌公司便停止了 ADT 的版本更新,转而重点打造自家的 Android Studio,数年升级换代下来,Android Studio 的功能愈加丰富,性能也愈高效,使得它逐步成为主流的 App 开发环境。表 1-2 展示了、几个主要版本的发布时间。

Android Studio 版本号发布时间
Android Studio 4.02020 年 5 月
Android Studio 3.02017 年 10 月
Android Studio 2.02016 年 4 月
Android Studio 1.02013 年 5 月

搭建 Android Studio 开发环境

本节介绍在电脑上搭建 Android Studio 开发环境的过程和步骤,首先说明用作开发机的电脑应当具备哪些基本配置,接着描述了 Android Studio 的安装和配置详细过程,然后叙述了如何下载 Android 开发需要的 SDK 组件及相关工具。

开发机配置要求

工欲善其事,必先利其器。要想保证 Android Studio 的运行速度,开发用的电脑配置就要跟上。现在一般用笔记本电脑开发 App,下面是对电脑硬件的基本要求:

  1. 内存要求至少 8GB,越大越好。
  2. CPU 要求 1.5GHz 以上,越快越好。
  3. 硬盘要求系统盘剩余空间 10GB 以上,越大越好。
  4. 要求带无线网卡与 USB 插槽。

下面是对操作系统的基本要求(以 Windows 为例)。

  1. 必须是 64 位系统,不能是 32 位系统。
  2. Windows 系统至少为 Windows 7,推荐 Windows 10,不支持 Windows XP。

下面是对网络的基本要求:

  1. 最好连接公众网,因为校园网可能无法访问国外的网站。
  2. 下载速度至少每秒 1MB,越快越好。因为 Android Studio 安装包大小为 1GB 左右,还需要另外下载几百 MB 的 SDK,所以网络带宽一定要够大,否则下载文件都要等很久。

安装 Android Studio

使用 JetBrains ToolBox 安装即可。

下载 Android 的 SDK

Android Studio 只提供了 App 的开发环境界面,编译 App 源码还需另外下载 Android 官方的 SDK。SDK 全称为 Software Development Kit,意即软件开发工具包,它可将 App 源码编译为可执行的 App 应用。随着Android 版本的更新换代,SDK 也需时常在线升级,接下来介绍如何下载最新的 SDK。

在 Android Studio 主界面,依次选择菜单 Tools→SDK Manager,或者在 Android Studio 右上角中单击图标,如图 1-14 所示。

此时弹出 SDK Manager 的管理界面,窗口右边是 SDK 安装配置区域,初始画面如图 1-15 所示。注意 Android SDK Location 一栏,可单击右侧的 Edit 链接,进而选择SDK 下载后的保存路径。其下的三个选项卡默认显示 SDK Platforms,也就是各个 SDK 平台的版本列表,勾选每个列表项左边的复选框,表示需要下载该版本的 SDK 平台,然后单击 OK 按钮即可自动下载并安装 SDK。也可单击中间 SDK Tools 选项卡,此时会切换到SDK工具的管理列表,如图 1-16 所示。在这个工具管理界面,能够在线升级编译工具 Build Tools、平台工具 Platform Tools,以及开发者需要的其他工具。

SDK 下载完成,可以到“我的电脑”中打开 Android SDK Location 指定的 SDK 保存路径,发现下面还有十几个目录,其中比较重要的几个目录说明如下:

  • build-tools 目录,存放各版本 Android 的编译工具。
  • emulator 目录,存放模拟器的管理工具。
  • platforms 目录,存放各版本 Android 的资源文件与内核 JAR 包android.jar。
  • platform-tools 目录,存放常用的开发辅助工具,包括客户端驱动程序 adb.exe、数据库管理工具 sqlite3.exe,等等。
  • sources 目录,存放各版本 Android 的 SDK 源码。

创建并编译 App 工程

本节介绍使用 Android Studio 创建并编译 App 工程的过程和步骤,首先叙述了如何通过 Android Studio 创建新的 App 项目,接着描述了如何导入已有的 App 工程(包括导入项目和导入模块两种方式),然后阐述了如何手工编译 App 工程。

创建新项目

单击 New Project 会创建初始的新项目,弹出如图 1-17 所示的项目创建对话框,在该对话框中选择“Empty Views Activity”,单击 Next 按钮跳到下一个配置对话框如图 1-18 所示。

在配置对话框的 Name 栏输入应用名称,在 Package Name 栏输入应用的包名,在 Save Location 栏输入或者选择项目工程的保存目录,在 Language 下拉框中选择编码语言为 Java,在 Minimun SDK 下拉框中选择最低支持到“API 21 ("Lollipop"; Android 5.0)”,Minimun SDK 下方的文字提示当前版本支持设备的市场份额为 99.9%。

然后单击 Finish 按钮完成配置操作,Android Studio 便自动创建规定配置的新项目了。稍等片刻,Android Studio 将呈现刚创建好的项目页面,如图 1-19 所示。

工程创建完毕后,Android Studio 自动打开 activity_main.xml 与 MainActivity.java,并默认展示 MainActivity.java 的源码。MainActivity.java 上方的标签表示该文件的路径结构,注意源码左侧有一列标签,从上到下依次是 Project、Resource Manager、More tool windows。单击 Project 标签,左侧会展开小窗口表示该项目工程的目录结构,如图 1-20 所示。单击 Structure 标签,左侧会展开小窗口表示该代码的内部方法结构,如图 1-21 所示。

导入已有的工程

本书提供了所有章节的示例源码,为方便学习,读者可将本书源码直接导入 Android Studio。根据 App 工程的组织形式,有两种源码导入方式,分别是导入整个项目,以及导入某个模块,简要说明如下。

导入整个项目

以本书源码 MyApp 为例,依次选择菜单 File->Open,或者一次选择菜单 File->New->Import Project,均会弹出如图 1-22 所示的文件对话框。

在文件对话框中选中待导入的项目路径,再单击对话框下方的 OK 按钮。此时文件对话框关闭,弹出另一个如图 1-23 所示的确认对话框。

确认对话框右下角有 3 个按钮,分别是 This Window、New Window 和 Cancel,其中 This Window 按钮表示在当前窗口打开该项目,New Window 按钮表示在新窗口打开该项目,Cancel 按钮表示取消打开操作。此处建议单击 New Window 按钮,即可在新窗口打开 App 项目。

导入某个模块

如果读者已经创建了自己的项目,想在当前项目导入某章的源码,应当通过 Module 方式导入模块源码。

依次选择菜单 File->New->Import Module,弹出如图 1-24 所示的导入对话框。

单击 Source Directory 输入框右侧的文件夹图标,弹出如图 1-25 所示的文件对话框。

在文件对话框中选择待导入的模块路径,再单击对话框下方的 OK 按钮,回到导入对话框。

可见导入对话框已经自动添上了待导入模块的完整路径,单击对话框右下角的 Finish 按钮完成导入操作。然后 Android Studio 自动开始模块的导入和编译动作,等待导入结束即可在 Android Studio 左上角的项目结构图中看到导入的 chapter02 模块。

编译 App 工程

Android Studio 跟 IDEA 一样,被改动的文件会自动保存,无需开发者手工保存。它还会自动编译最新的代码,如果代码有误,编辑界面会标红提示出错了。但是有时候可能因为异常关闭的缘故,造成 Android Studio 的编译文件发生损坏,此时需要开发者手动重新编译,手动编译有以下 3 种途径:

  1. 依次选择菜单 Build->Compile All Sources,该方式会便宜整个项目下的所有模块。
  2. 依次选择菜单 Build->Compile Selected Modules,该方式会编译指定名称的模块。
  3. 先选择菜单 Build->Clean Project,再选择菜单 Build->Compile All Sources,表示先清理当前项目,再对整个项目重新编译。

不管是编译项目还是编译模块,编译结果都展示在 Android Studio 主界面下方的 Build 窗口中,如图 1-28 所示。

由编译结果可知,当前项目编译耗时 2 分 29 秒,未发现错误。

运行和调试 App

本节介绍使用 Android Studio 运行和调试 App 的过程,首先叙述了如何创建 Android Studio 内置的模拟器,接着描述了如何在刚创建的模拟器上运行测试 App,然后阐述了如何在 Android Studio 中查看 App 的运行日志。

创建内置模拟器

所谓模拟器,指的是在电脑上构造一个演示窗口,模拟手机屏幕的 App 运行效果。App 通过编译之后,只说明代码没有语法错误,若想验证 App 能否正确运行,还得让它在 Android 设备上跑起来。这个设备可以是真实手机,也可以是电脑里的模拟器。依次选择菜单 Run-> Run(也可按快捷键 Shift+F10),或者选择菜单 Run->Run...,在弹出的小窗中选择带运行的模块名称,Android Studio 会判断当前是否存在已经连接的设备,如果已有连接上的设备就在该设备上安装测试 App。

因为一开始没有任何已连上的设备,所以运行 App 会报错"Error running: No target device found.",意思是未找到任何目标设备。此时要先创建一个模拟器,依次选择菜单 Tools->AVD Manager,或者在 Android Studio 右上角的按钮中单击图标,如图 1-29 所示。

此时 Android Studio 打开模拟器的创建窗口,如图 1-30 所示。

单击创建窗口中的 Create Virtual Device 按钮,弹出如图 1-31 所示的硬件选择对话框。

在对话框的左边列表单击 Phone 表示选择手机,在中间列表选择某个手机型号如 Pixel 6 Pro,然后单击对话框右下角的 Next 按钮,跳到下一页的系统镜像选择对话框如图 1-32 所示。

看到镜像列表的发布名称叫 Baklava,对应的 API 级别为 36.0,它正是 Android 16 的系统镜像。单击左侧的下载按钮,弹出如图 1-34 所示的镜像下载对话框。

等待镜像下载完成,单击右下角的 Finish 按钮,返回到系统镜像选择对话框。此时左侧的下载按钮消失,说明电脑中已经存在该版本的 Android 镜像。单击 Finish 可见如图 1-37 所示,多了个名为 Pixel 6 Pro 的模拟器,且该模拟器基于 Android 16(API 36)。

在模拟器上运行 App

模拟器创建完成后,回到 Android Studio 的主界面,即可在顶部工具栏的下拉框中发现多了个“Pixel 6 Pro”,它正式上一小节创建好的模拟器,如图 1-38 所示。

重新选择菜单 Run->Run 'App',也可以直接单击“Pixel 6 Pro”右侧的三角运行按钮,Androi Studio 便开始启动名为“Pixel 6 Pro”的模拟器,如图 1-39 所示。等待模拟器启动完毕,出现模拟器的开机画面如图 1-40 所示。再过一会儿,模拟器自动打开如图 1-41 所示的 App 界面。

可见模拟器屏幕左上角的应用名称为 My Application,页面内容为“你好世界!”,它正式刚才想要运行的测试 App,说明已经在模拟器上成功运行 App 了。

观察 App 的运行日志

虽然在模拟器上能够看到 App 的运行,却无法看到 App 的调试信息。以前写 Java 代码的时候,通过 System.out.println 可以很方便地向 IDEA 的控制台输出日志,当然 Android Studio 也允许查看 App 的运行日志,只是 Android 不使用 System.out.println,而是采用 Log 工具打印日志。

有别于 System.out.println,Log 工具将各类日志划分为 5 个等级,每个等级的重要性是不一样的,这些日志等级avc从高到低的顺序依次说明如下:

  • Log.e:表示错误信息,比如可能导致程序崩溃的异常。
  • Log.w:表示警告信息。
  • Log.i:表示一般消息。
  • Log.d:表示调试信息,可把程序运行时的变量值打印出来,方便跟踪调试。
  • Log.v:表示冗余信息。

一般而言,日常开发使用 Log.d 即可,下面是给 App 添加日志信息的代码例子:(完整代码见 app\src\main\java\com\example\app\MainActivity.java)

java
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d("MainActivity", "我看到你了"); // 添加一行日志信息
        TextView tv = findViewById(R.id.tv);
        tv.setText("你好,世界!");

        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setClass(MainActivity.this, MainActivity2.class);
                startActivity(intent);
            }
        });
    }
}

重新运行测试 App,等模拟器刷新 App 界面后,单击 Android Studio 底部的“Logcat”标签,此时主界面下方弹出一排日志窗口,如图 1-42 所示。

日志窗口的顶部是条件筛选框,筛选“tag:MainActivity”后,logcat 窗口显示 “D/MainActivity:我看到你了”,说明成功捕获前面代码调用 Log.d 的日志信息。

小结

本章主要介绍了 Android 开发环境的搭建过程,包括:Android 开发简介(Android 的发展历程、Android Studio 的发展历程)、搭建 Android Studio 开发环境(开发机配置要求、安装 Android Studio、下载 Android 的 SDK)、创建并编译 App 工程(创建新项目、导入已有的工程、编译 App 工程)、运行和调试 App(创建内置模拟器、在模拟器上运行 App、观察 App 的运行日志)。

通过本章的铉锡,读者应该掌握 Android Studio 的基本操作技能,能够使用自己搭建的 Android Studio 环境创建简单的 App 工程,并在模拟器上成功运行测试 App。