摘要:以往的Android开发有一个头疼的且拖慢速度的问题,就是你每改一行代码要想看到结 果必须要编译运行到手机或者模拟其上,而且从头(可能是登录界面)一直点击到你修改的界面为止。开发一个完整的Android App你可能要经历无数个重复编译运行的过程,严重的拖慢了开发进度。
以往的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。它是一个拥有自定义属性的自定义控件,布局代码片段为:
1 | < com.qianmi.shine.widget.CommonLeftIconRightButtonRelativeLayout |
2 | android:id = "@+id/ll_sudden_visit" |
3 | android:layout_width = "match_parent" |
4 | android:layout_height = "wrap_content" |
5 | app:CLIRBRIconId = "@drawable/icon_temp" |
6 | app:CLIRBRTitleName = "@string/sudden_visit" |
7 | app:CLIRBRActionIconId = "@drawable/btn_go_nor" |
8 | /> |
首先我们需要先跑一下这个项目,然后先点击界面直到上述的界面为止停住不动,这个时候我们再修改上述代码(这一步是必须的,不然的Instant Run功能使用时会出现问题,导致重新运行)
这个时候我们让模拟器保持在这个页面上,同时修改布局代码成:
1 | <com.qianmi.shine.widget.CommonLeftIconRightButtonRelativeLayout |
2 | android:id= "@+id/ll_sudden_visit" |
3 | android:layout_width= "match_parent" |
4 | android:layout_height= "wrap_content" |
5 | app:CLIRBRIconId= "@drawable/icon_resent" //修改1 |
6 | app:CLIRBRTitleName= "你好" //修改2 |
7 | app:CLIRBRActionIconId= "@drawable/btn_go_nor" |
8 | /> |
然后点击带闪电的运行:
可以看到界面快速的刷新成了: