【问题标题】:Android Studio 2.0 Instant Run Not WorkingAndroid Studio 2.0 Instant Run 不工作
【发布时间】:2016-03-02 23:59:07
【问题描述】:

Instant Run 这一新功能并不总是如所描述的那样工作。 我只是在文本中修改了油漆颜色并立即运行,它会重新启动活动!但是在修改了一些其他代码之后,Instant Run 运行良好。 我错过了什么吗?

【问题讨论】:

    标签: android-studio instant-run


    【解决方案1】:

    Instant Run 功能需要一些规则;

    • Android 插件的 gradle 版本必须是 2.0.0 或更高版本
    • minSdkVersion 必须为 15 或更高
    • 同时,如果你的应用使用了multidex支持(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

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

    【讨论】:

      【解决方案2】:

      gradle apt 的用法呢? apply plugin: 'com.neenbedankt.android-apt' ? 使用 apt 会阻止 Android Studio Instant Run 热交换代码吗?

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

      编辑:不 - 它没有! :) 我的安装显然遗漏了一些东西——就像在 Dave 的演示中一样。 Instant Run 在 2.0 预览版 3b 上似乎仍然不稳定...

      【讨论】:

      • 奇怪的是,即使在仅使用 AndroidStudio 生成的 MainActivity 的全新项目上,我也无法启用它。没有依赖关系。没有多重索引。没有遗留多索引。没有什么特别的。它一遍又一遍地失败,无法实例化应用程序 com.android.tools.fd.runtime.BootstrapApplication :(
      【解决方案3】:

      Instant Run 看起来是我们武器库中的一个很棒的工具,请记住它是 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目前支持的一些代码更改:

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

      我在测试 Instant Run 时也有过类似的经验,但在现阶段这是意料之中的。嘿,it didn't even work few times Android 开发者峰会期间的 Dave Burke ;)

      【讨论】:

        猜你喜欢
        • 2016-03-27
        • 2018-09-16
        • 1970-01-01
        • 2017-10-18
        • 1970-01-01
        • 2016-09-03
        • 2019-06-22
        • 2016-07-29
        • 2019-04-03
        相关资源
        最近更新 更多