• 3.0、Android Studio构建和运行应用


    默认情况下,Android Studio可以通过简单的点击就会将新的项目部署到虚拟机或者物理设备中。在Instant Run的帮助下,你可以将更改的方法或资源文件直接推送到一个运行的app而无需构建一个新的APK,所以看起来像实时的。

    构建和运行你的app,点击Run’app’。Android Studio会让你选择一个部署目标(一个虚拟机或者一个连接的设备),使用Gradle进行构建,构建完成后将部署到目标上。

    如果你使用Android虚拟机来运行你的app,你需要有一个Android Virtual Device(AVD)。如果没有可以先创建一个,然后再运行app。点击Select Deployment Target对话框中的Create New Emulator,跟随虚拟设备配置向导定义你想要的虚拟机的信息。

    如果你使用一个物理Android设备,你需要在设备中开启USB调试。

    选择和构建不同的模块

    如果你的项目除了默认的app模块还有多个模块,你可以通过如下方式构建指定模块:
    在Project视图中选择这个模块,然后点击Build > Make Module (模块名称)

    Android Studio使用Gradle对模块进行构建。一旦构建完成,你可以运行和调试。

    改变运行或调试配置

    运行和调试配置控制模块的运行、部署、启动Activity,目标设备,虚拟机设置,logcat选项等等。默认的运行和调试配置运行项目默认的Activity,使用Select Deployment Target对话框来选择目标设备。

    更改构建变量

    默认情况下,在你点击Run‘app’的时候,Android Studio构建你的app的调试版本,为了调试版本。
    改变Android Studio得构建变量,可以在Build > Select Build Variant,在下拉菜单中选择。默认情况下,新的项目默认有debug和release两个选项。

    监控构建进程

    你可以通过点击Gradle Console来查看构建进程的细节。控制台显示的是为了构建你的应用Gradle执行的每个任务。
    这里写图片描述

    生成APK

    当你点击Run ‘app’,Android Studio生成一个调试APK并且部署到目标设备中。在你生成一个app正式版进行发布之前,你必须学会如何对app进行签名。

    关于Instant Run

    Instant Run是Android Studio 2.0引入的,Instan Run可以显著减少应用的部署时间。虽然第一次部署需要花费很多时间构建完成,但是Instan Run可以将你的更改迅速的应用的app中而无需安装一个新的APK。

    只有你的APK是debug,并且Gradle 的Android插件版本是2.0.0或高于,最小sdk版本是15或更高时,才能使用。

    当你部署一个app时,一个黄色闪电图标出现在Run按钮上,提示Instant Run会在你下次点击这个按钮时会把更新推送到设备或虚拟机,而无需安装一个新的APK,仅仅是推送更新,在大部分时候,甚至不需要更新就可以立刻显示效果。

    Instant Run通过热部署,暖部署或者冷部署将最新的代码和资源,Instant Run会根据你的更改类型来决定部署类型。

    使用Rerun

    当你的代码更改会影响初始化,比如应用的onCreate方法的更改。你需要重启你的应用来使更改生效。点击Rerun。
    如果你需要部署一个干净的构建,在主菜单中选择Run > Clean and Rerun ‘app,或者在点击Rerun时按住Shift键。这会停止正在运行的app,部署一个新的APK到你的目标设备中。

    禁用Activity自动重启

    当你执行热部署的时候,你的应用保持运行,但是Android Studio会自动重启当前的activity。以下可以禁止这个默认设置:
    1、 打开Settings或者Preferences对话框
    2、 导航到Build、Execution、Deployment>Instant Run
    3、 取消Restart activity on code changes 的打钩。
    禁用后,你可以通过选择Run > Restart Activity手动启动。

    为Instant Run配置和优化你的项目

    Android Studio在使用Gradle Android插件2.0.0或更高版本的项目中默认开启Instant Run。为了更新一个存在的项目的Gradle插件到最新版本,可以执行如下几步:
    1、 打开Settings 或者Preferences对话框
    2、 导航到Build、Execution,Execution, Deployment > Instant Run并且选择Update Project
    如果没有出现,说明已经是最新版本。
    这里写图片描述

    通过配置DEX资源来提升构建时间

    当你部署了一个应用,Android Studio允许你的app使用Instant Run来推送代码和资源更新。虽然,在应用运行的时候推送更新更加迅速,但是第一次需要花费一定时间来构建。你可以通过一些DexOptions来提升构建进程:
    MaxProcessCount:
    设置DEX进程的最大数。
    javaMaxHeapSize:
    设置最大分配的内存

    Instant Run的限制

    Instant Run设计成在大部分情形下提升你构建和部署进程的速度。然而,在某些时候可能不适用。

    部署到多个设备

    Instan Run根据目标设备的API不同使用不同的技术来实现热部署,冷部署。因为这个原因,当应用同时部署到多个设备,Android Studio会暂时关闭Instant Run。

    多个DEX

    如果你在build.gradle中设置multiDexEnabled true和minSdkVersion 20或更低,并且你部署的目标设备运行Android4.4或更低,Android Studio禁用Intant Run。
    如果你的minSdkVersion为21或更高,Instant Run自动配置你的应用的多dex。

    使用第三方插件

    Android Studio在使用Instant Run时会暂时禁用Java Code Coverage Library(JaCoco)和ProGuard。这不影响你的构建。

    禁用Instant Run

    通过如下方式禁用Intant Run:
    1、 打开Settings或者Preferences对话框
    2、 导航到Build, Execution, Deployment > Instant Run
    3、 取消选定Enable Instant Run.

    本文作者:宋志辉
    个人微博:点击进入

  • 相关阅读:
    CentOS 6.x 系统安装选项说明
    MySQL表的操作
    6月13号
    6月11号
    6月10号
    6月9号
    6月6
    day27
    day 28
    day 29
  • 原文地址:https://www.cnblogs.com/hainange/p/6153435.html
Copyright © 2020-2023  润新知