5.1、Android Studio 构建和运行您的应用

文章摘要
1、 选择和构建不同的模块
2、更改运行/调试配置
3、更改构建变体
4、监控构建流程
5、关于 Instant Run


英文文献

默认情况下,Android Studio 仅需点击几下即可设置要部署至模拟器或物理设备的新项目。使用 Instant Run,您无需构建新的 APK,就可以将更改推送至方法,将现有应用资源推送至正在运行的应用,所以几乎立刻就能看到代码更改。

要构建和运行应用,请点击 Run。Android Studio 使用 Gradle 构建您的应用,会要求您选择部署目标(模拟器或连接的设备),然后将您的应用部署至目标。您可以通过更改运行配置自定义一些这样的默认行为,例如选择自动部署目标。
如果想要使用 Android Emulator 运行您的应用,您需要准备好 Android Virtual Device (AVD)。如果您尚未创建模拟器,点击 Run 后,在 Select Deployment Target 对话框中点击 Create New Emulator。按照 Virtual Device Configuration 向导操作,定义您想要模拟的设备类型。

如果您正在使用物理 Android 设备,则需要在设备上启用 USB 调试。

:您也可以通过点击 Debug ,在调试模式下部署应用。在调试模式下运行应用让您可以在代码中设置断点、在运行时检查变体和评估表达式,以及运行调试工具。

一、选择和构建不同模块

如果您的项目除默认应用模块之外还有多个模块,可以执行以下操作来构建特定模块:

  • 在 Project 面板中选择模块,然后点击 Build > Make Module module-name。
    Android Studio 使用 Gradle 构建模块。模块构建后,如果您已经为新应用或新设备构建了模块,可以运行和调试模块;或者如果您已构建了库或 Google 云模块,可以将其用作依赖项。
    要运行构建的应用模块,请执行以下操作:
  • 点击 Run > Run,然后从 Run 对话框中选择模块。

二、更改运行/调试配置

运行/调试配置指定要运行的模块、要部署的软件包、要启动的行为、目标设备、模拟器设置、logcat 选项,等等。默认运行/调试配置会启动默认项目行为并使用 Select Deployment Target 对话框选择目标设备。

如果默认设置不适合您的项目或模块,您可以自定义运行/调试配置,也可以在项目、默认和模块级别创建新配置。要编辑运行/调试配置,请选择 Run > Edit Configurations。

三、更改构建变体

默认情况下,在您点击 Run 后,Android Studio 可以构建应用的调试版本,不过仅用于测试目的。您需要构建发布版本,为应用公开发布做准备

要更改 Android Studio 使用的构建变体,请转到 Build > Select Build Variant,然后从下拉菜单中选择不同的变体。默认情况下,新项目使用调试和发布构建变体进行设置。

使用产品定制,您可以为不同版本的应用(每个版本的应用均具有不同功能或设备要求)创建其他的构建变体。

四、监控构建流程

您可以通过点击 Gradle Console 来查看与构建流程相关的详细信息。控制台会显示为构建应用 Gradle 执行的每个任务,如图 1 所示。

  • 图 1.Android Studio 中的 Gradle 控制台。

如果您的构建变体使用产品定制,Gradle 也会调用任务来构建这些产品定制。要查看所有可用构建任务的列表,请点击 IDE 窗口右侧的 Gradle

如果构建过程中出现错误,会出现 Messages 窗口,对问题进行具体描述。Gradle 会建议一些命令行选项来帮助您解决问题,例如 --stacktrace 或 --debug。要在构建流程中使用命令行选项,请执行以下操作:

  • 打开 Settings 或 Preferences 对话框:
    • 在 Windows 或 Linux 上,从主菜单中选择 File > Settings。
    • 在 Mac OSX 上,从主菜单中选择 Android Studio > Preferences。
  • 导航至 Build, Execution, Deployment > Compiler。
  • 在 Command-line Options 旁的文本字段中,输入您的命令行选项。
  • 点击 OK 保存,然后退出。
    Gradle 会在下次您尝试构建应用时应用这些命令行选项。

五、生成 APK

点击 Run 时,Android Studio 会生成调试 APK 并将其部署至您的目标设备。在您生成用于公开分发的应用发布版本前,必须首先学习如何签署应用、签名应用。然后,您可以生成多个调试或发布构建变体的签署 APK。要定位生成的 APK 文件,请点击弹出对话框中的链接,如图 2 所示。

  • 图 2.点击链接定位已生成的 APK 文件。

六、关于 Instant Run

Android Studio 2.0 中引入的 Instant Run 是 RunDebug 命令的行为,可以大幅缩短应用更新的时间。尽管首次构建可能需要花费较长的时间,Instant Run 在向应用推送后续更新时则无需构建新的 APK,因此,这样可以更快地看到更改。

仅在您部署调试构建变体、使用 Android Plugin for Gradle 版本 2.0.0 或更高版本,以及在应用的模块级别 build.gradle 文件中将 minSdkVersion 设置为 15 或以上时,Instant Run 才受支持。为获得最佳性能,可以将 minSdkVersion 设置为 21 或更高。

部署应用后,Run 按钮(或 Debug中会出现黄色的小闪电图标,表明 Instant Run 已经准备好在您下次点击按钮时推送更新。无需构建新的 APK 即可推送新的更改,一些情况下,应用甚至无需重启就可以立即显示代码更改的效果。

Instant Run 通过执行热交换、温和交换或冷交换向连接的设备或模拟器推送更新的代码和资源。它会根据所做更改的类型自动确定要执行的交换类型。上面的视频提供了有关所有这些如何在后台运行的十分有趣的详细信息。要获得您将特定代码更改推送至目标设备时 Instant Run 如何工作的快速摘要,请参见下表。

  • image.png
6.1、使用重新运行

推送影响特定初始值设定项的代码更改(例如对应用的 onCreate() 方法的更改)时,您需要重新启动应用,以便使更改生效。要执行增量构建并重新启动应用,请点击 Rerun
如果您需要部署整洁的构建,请从主菜单中选择 Run > Clean and Rerun ,也可以在点击 Rerun 时按住 Shift 键。此操作会停止运行的应用,执行完整、整洁的构建,然后将新的 APK 部署至您的目标设备。

6.2、停用行为自动重新启动

执行热交换时,您的应用会保持运行,但 Android Studio 会自动重新启动当前的行为。要停用此默认设置,请执行以下操作:

  • 打开 Settings 或 Preferences 对话框:
    • 在 Windows 或 Linux 上,从主菜单中选择 File > Settings。
    • 在 Mac OSX 上,从主菜单中选择 Android Studio > Preferences。
  • 导航至 Build, Execution, Deployment > Instant Run。
  • 取消选中 Restart activity on code changes 旁边的方框。

如果停用活动自动重新启动,您可以选择 Run > Restart Activity,从菜单栏中手动重新启动当前的活动。

七、针对 Instant Run 配置和优化您的项目

默认情况下,Android Studio 会为使用 Android Plugin for Gradle 2.0.0 及更高版本构建的项目启用 Instant Run。

要使用最新版本的插件更新现有项目,请执行以下操作:

  • 1、打开 Settings 或者 Preferences 对话框。

  • 2、导航至 Build, Execution, Deployment > Instant Run,然后点击 Update Project,如图 3 所示。
    如果用于更新项目的选项未显示,则说明项目已经带有最新版本的 Android Plugin for Gradle,处于最新状态。

  • 图 3.更新现有项目的 Android Plugin for Gradle。
7.1、停用 Instant Run

要停用 Instant Run,请执行以下操作:

  • 1、打开 Settings 或者 Preferences 对话框。
  • 2、导航至 Build, Execution, Deployment > Instant Run。
  • 3、取消选中 Enable Instant Run 旁边的方框。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,064评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,606评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,011评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,550评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,465评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,919评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,428评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,075评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,208评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,185评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,191评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,914评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,482评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,585评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,825评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,194评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,703评论 2 339

推荐阅读更多精彩内容