告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能
以往的Android开发有一个头疼的且拖慢速度的问题,就是你每改一行代码要想看到结果必须要编译运行到手机或者模拟器上,而且需要从头(可能是登录界面)一直点击到你修改的界面为止。开发一个完整的Android App你可能要经历无数个重复编译运行的过程,严重的拖慢了开发进度。
最近React Native for Android可谓是解决了这个问题,修改代码可以直接在模拟其上刷新出来当前修改的界面(毕竟是用web技术)。于是乎Google能看得下去让FB占领自己的开发领域吗?不可能!
即时运行:更快的构建和部署
终于现在Android Studio 2 Preview推出了,其中一个革命性的功能就是Instant Run(即时运行)!新的即时运行功能可以让开发者像写html网页一样写Android原生代码,能做到一边修改代码,一边在模拟器或者实际设备上看到修改代码后的结果。
下面是几个平台上的下载地址,下载后直接解压进入bin文件夹就可以运行(建议保留之前Android Studio1.4或者1.5的版本不要删除),同时它会自动import老版本的项目和设置信息。
Windows: https://dl.google.com/dl/android/studio/ide-zips/2.0.0.0/android-studio-ide-143.2443734-windows.zip (320 MB)
Mac: https://dl.google.com/dl/android/studio/ide-zips/2.0.0.0/android-studio-ide-143.2443734-mac.zip (319 MB)
Linux: https://dl.google.com/dl/android/studio/ide-zips/2.0.0.0/android-studio-ide-143.2443734-linux.zip (318 MB)
实际项目评测
这里我将用Android Studio 2.0 配合 Genymotion模拟器实际演示一个项目
进入Android Studio2.0打开项目后依次进入Setting->Build,Execution,Deployment->Instant Run查看即时运行的设置项目,你可能会发现勾选项目是灰色的,如图
这个是因为你的project gradle是旧的,点击下Update Project稍等片刻就好。
更新我发现Project gragle的依赖:
dependencies {classpath 'com.android.tools.build:gradle:1.2.3'}
被更新成了:
dependencies {classpath 'com.android.tools.build:gradle:2.0.0-alpha1'}
这个时候再次打开Instant Run的设置会发现已经可以勾选了,请保持如图的勾选:
此时我们观察运行按钮的左侧多了一个类似于“闪电”的标志:
我们的项目中有这样的一个页面:
准备把临时拜访换成别的字串比如“你好”,同时换掉左边的Icon。它是一个拥有自定义属性的自定义控件,布局代码片段为:
<com.qianmi.shine.widget.CommonLeftIconRightButtonRelativeLayoutandroid:id="@+id/ll_sudden_visit"android:layout_width="match_parent"android:layout_height="wrap_content"app:CLIRBRIconId="@drawable/icon_temp"app:CLIRBRTitleName="@string/sudden_visit"app:CLIRBRActionIconId="@drawable/btn_go_nor"/>
首先我们需要先跑一下这个项目,然后先点击界面直到上述的界面为止停住不动,这个时候我们再修改上述代码(这一步是必须的,不然的Instant Run功能使用时会出现问题,导致重新运行)
这个时候我们让模拟器保持在这个页面上,同时修改布局代码成:
<com.qianmi.shine.widget.CommonLeftIconRightButtonRelativeLayoutandroid:id="@+id/ll_sudden_visit"android:layout_width="match_parent"android:layout_height="wrap_content"app:CLIRBRIconId="@drawable/icon_resent"//修改1app:CLIRBRTitleName="你好"//修改2app:CLIRBRActionIconId="@drawable/btn_go_nor"/>
然后点击带闪电的运行:
可以看到界面快速的刷新成了:
最后说明
需要说明的是,我在使用过程中发现,改Instant Run仅仅适用于布局的修改。即我们可以把一次修改然后到运行看效果看作一个“周期”,在这个周期里面你仅仅修改了xml布局文件,或者说和逻辑代码不相关的文件,那么你点击运行的时候才会触发Instant Run,否则的话,Android Studio还是依然会重新编译运行。
其实想想也是合理的,比如若你修改了代码,而该代码恰好是当前界面的“逻辑前提”,那么你怎么仅仅刷当前界面就能得到正确结果呢?
对于到底目前Instant Run支持哪些形式的代码修改,官方有一篇文章可供参考
https://sites.google.com/a/android.com/tools/tech-docs/instant-run
Not all code changes are supported by Instant Run currently. Here is the current list of supported code change scenarios.
Code Change |
Instant Run Support |
Change instance method implementation Change static method implementation Add or remove a class |
Supported |
Add, remove, or change a string resource |
Supported but requires an Activity restart. |
Here are some code changes that Instant Run does not currently support:
Add/remove/change annotations
Add/remove/change an instance field
Add/remove/change a static field
Add/remove a static method signature
Change a static method signature
Add/remove an instance method
Change an instance method signature
Changing which parent class the current class inherits from
Change the list of implemented interfaces
Changing static initializer of a class
Over the coming months, we plan to expand the Instant Run enable more change types, and continue to make your edit, build, run cycle faster.
转载于:https://www.cnblogs.com/soaringEveryday/p/4991563.html
告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能相关推荐
- [Android Pro] 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能
reference to : http://www.cnblogs.com/soaringEveryday/p/4991563.html 以往的Android开发有一个头疼的且拖慢速度的问题,就是你每 ...
- Android Studio 4.0 重磅发布!Android 11 Bata 版来了!
点击"开发者技术前线",选择"星标" 在看|星标|留言, 真爱 作者 | Adarsh Fernando 译者 | 王强 回复"666&quo ...
- android资源编译失败,Android Studio 3.0,AAPT2编译失败 – 资源文件中的dimen无效
我在Arch Linux上使用 Android Studio 3.0 Canary 3,我正在尝试制作一个小应用程序. 在发布问题之前进行了一些研究,但我发现的解决方案都不适用于我. 任何帮助将非常感 ...
- Android Studio 2.2 preview发布,深度集成Firebase平台
15小时的时差阻隔不了隔海相望的狂欢,当多地GDG(谷歌开发者社区)组织的Google I/O Extended活动如期上演,与全世界开发者一同观看I/O大会Keynote直播时,我们站在与未来最为贴 ...
- android编译ijkplayer,android studio 3.0 集成ijkplayer
一.ijkplayer编译过程略,有兴趣的朋友可以再研究,以下以编译好的版本讲解. 将ijkplayer相关的so及aar文件复制到app下的libs目录,为支持多版本的手机使用,将所有的so文件都复 ...
- android切环境插件,Android Studio 2.0 - 插件太旧,请更新到更新版本,或设置ANDROID_DAILY_OVERRIDE环境变量...
Android Studio 2.0 - 插件太旧,请更新到更新版本,或设置ANDROID_DAILY_OVERRIDE环境变量 我更新了Android Studio 2.0版并正常使用. 当我今天创 ...
- 太秀了!Android Studio 4.0 重磅来袭!Android 11 Bata 版来了!
点击上方 "程序员小乐"关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 One day, you'll be just a memory for s ...
- Android Studio 4.0 发布
Android Studio 4.0 已经发布.此版本亮点包括新的 Motion 编辑器:构建分析器,可用于分析构建速度较慢的原因.同时对 CPU Profiler 用户界面进行了大修,提供更加直观的 ...
- Android Studio 2.0+Gradle 2.12编译Oculus Mobile SDK
1. 下载与安装: Android Studio 2.0 https://dl.google.com/dl/android/studio/ide-zips/2.0.0.20/android-stud ...
最新文章
- 修改maven本地仓库的位置及疑惑
- 第24讲 | 比特币专题(一)历史与货币
- java多线程生产者与消费者问题_Java多线程详解之四:生产者消费者问题
- UHF RFID编码之TPP编码
- 高效程序员的45个习惯 pdf_高效瑜伽人的 5 个习惯,你get到了几个?
- 何以为「我来」?全方位解读笔记新秀高速增长
- 2019牛客暑期多校训练营(第四场)
- 华为海思MPP媒体处理软件开发学习(基础)
- git 配置命令行别名
- 安装tron_具有Tron效果的JavaFX 2 Form
- android 垂直自动滚动条,Android实现Activity水平和垂直滚动条的方法
- 如何把密度函数化为标准正态二维分布_概率微课:第三章(22) 二维随机变量及分布函数定义...
- Python 3.9.0 首个迭代版本发布了
- sqlserver2012 学习总结笔记
- 比较器应用一:滞回比较器
- 基于InfluxDBGrafana的JMeter实时性能测试数据的监控和展示
- 数据结构与算法——慕课作业——第一章 概论 + 第二章 线性表
- C#组件系列——NPOI使用手册
- QPM-PHP多进程开发-Supervisor配置参考
- 一加7t人脸识别_一加7pro有人脸识别吗一加7和一加7pro的区别
热门文章
- 一条sql语句统计一个字段的不同条件, 无需过多子查询
- vs添加码云远程_项目git步骤,将项目托管到码云。git本地分支推送到远程分支...
- 莫慌!网络推广平台更新网站SEO优化中,被K降权怎么办?
- 网站载入太慢直接影响用户访问体验,该如何优化?
- 网站优化的“内忧外患”需兼顾
- 网站SEO优化没有捷径!
- 六年级下册计算机电子板报教案,小学信息技术闽教版四年级下册第6课 制作电子板报教案设计...
- c语言课设代写一般多少钱_结婚彩礼一般多少钱 2019彩礼会涨到多少钱
- 16年寒假随笔(2)
- vue设置点击电话跳转到手机拨打电话的界面