3.0、Android Studio构建和运行应用

简介: 默认情况下,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.

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

目录
打赏
0
0
0
0
9
分享
相关文章
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
108 36
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
213 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
266 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
70 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
探索安卓开发:打造你的首个天气应用
在这篇技术指南中,我们将一起潜入安卓开发的海洋,学习如何从零开始构建一个简单的天气应用。通过这个实践项目,你将掌握安卓开发的核心概念、界面设计、网络编程以及数据解析等技能。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供一个清晰的路线图和实用的代码示例,帮助你在安卓开发的道路上迈出坚实的一步。让我们一起开始这段旅程,打造属于你自己的第一个安卓应用吧!
132 14
探索安卓开发:打造你的第一款应用
在数字时代的浪潮中,每个人都有机会成为创意的实现者。本文将带你走进安卓开发的奇妙世界,通过浅显易懂的语言和实际代码示例,引导你从零开始构建自己的第一款安卓应用。无论你是编程新手还是希望拓展技术的开发者,这篇文章都将为你打开一扇门,让你的创意和技术一起飞扬。
打造个性化安卓应用:从设计到开发的全面指南
在这个数字时代,拥有一个定制的移动应用不仅是一种趋势,更是个人或企业品牌的重要延伸。本文将引导你通过一系列简单易懂的步骤,从构思你的应用理念开始,直至实现一个功能齐全的安卓应用。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你提供必要的工具和知识,帮助你将创意转化为现实。
探索安卓开发:构建你的第一个“Hello World”应用
在安卓开发的浩瀚海洋中,每个新手都渴望扬帆起航。本文将作为你的指南针,引领你通过创建一个简单的“Hello World”应用,迈出安卓开发的第一步。我们将一起搭建开发环境、了解基本概念,并编写第一行代码。就像印度圣雄甘地所说:“你必须成为你希望在世界上看到的改变。”让我们一起开始这段旅程,成为我们想要见到的开发者吧!
112 0
【错误记录】Android Studio 编译报错 ( Installed Build Tools revision 31.0.0 is corrupted )
【错误记录】Android Studio 编译报错 ( Installed Build Tools revision 31.0.0 is corrupted )
1064 0
【错误记录】Android Studio 编译报错 ( Installed Build Tools revision 31.0.0 is corrupted )
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
348 0
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等