Android Studio 2.0即时运行不起作用

时间:2015-11-29 06:39:21

标签: android-studio instant-run

这项新功能即时运行并不像所描述的那样有效。 我只是在文本和Instant Run中修改了颜色,它重新开始活动!但在修改了其他一些代码之后,Instant Run的效果非常好。 我错过了什么吗?

3 个答案:

答案 0 :(得分:9)

即时运行看起来像是我们工具库中的一个很棒的工具,请记住它是Android Studio 2.0的新增功能,它仍处于预览版(Canary频道)中,因此可能会有一些打嗝。正如谷歌所说,他们计划在未来几个月内改进它。在撰写本文时,以下是支持的内容:

+--------------------------------------+-----------------------------------------+
|           Code Change                |         Instant Run Support             |
+--------------------------------------+-----------------------------------------+
| Change instance method implementation| Supported                               |
| Change static method implementation  |                                         |
| Add or remove a class                |                                         |
|--------------------------------------|-----------------------------------------|
| Add, remove, or change               | Supported but requires an Activity      |
| a string resource                    | restart.                                |
+--------------------------------------+-----------------------------------------+

here是一些代码更改,即“立即运行 目前不支持

  • 添加/删除/更改注释
  • 添加/删除/更改实例字段
  • 添加/删除/更改静态字段
  • 添加/删除静态方法签名
  • 更改静态方法签名
  • 添加/删除实例方法
  • 更改实例方法签名
  • 更改哪个父类 当前类继承自
  • 更改已实施接口的列表
  • 更改类的静态初始化程序

我在测试Instant Run方面有类似的经验,但在此阶段可以预料到这一点。嘿,在Android Dev Summit期间为Dave Burke it didn't even work few times;)

答案 1 :(得分:2)

如何 gradle apt 用法,例如apply plugin: 'com.neenbedankt.android-apt'? 使用apt会阻止Android Studio Instant Run热插拔代码吗?

在我的情况下,我使用Dagger 2并且Instant Run似乎不起作用....我错过了什么吗?

编辑:不 - 它没有! :)我的装置显然缺少了一些东西 - 就像Dave的演示期间一样。在2.0预览3b上,Instant Run似乎仍然不稳定......

答案 2 :(得分:1)

即时运行功能需要一些规则;

  • gradle版本的Android插件必须为2.0.0或更高版本
  • minSdkVersion必须为15或更高
  • 同时,如果您为自己的应用使用了多索支持(multiDexEnabled true),则minSdkVersion必须为21或更高。否则,android studio会禁用Instant Run。

参考:

https://developer.android.com/studio/run/index.html#instant-run https://developer.android.com/studio/build/multidex.html#about

但我仍然可以在我的项目中使用即时运行的热插拔功能,即使它的最小版本是14。