1

我有一个新安装的 Android Studio,我正在开始我的第一个项目。当我读到我已经应该启用即时运行功能时,我正在寻找加快部署/测试开发周期的方法。

我仔细检查了一些设置:

  • Tools->Android->Enable ADB Integration被检查

  • File->Settings->Build, Execution, Deployment->Instant Run Enable Instant Run...已选中,同时在代码更改上重新启动活动在正在运行的应用程序中显示 Toast...

  • 我的模拟器是 Nexus 5,API 24

  • Android gradle 插件定义为:classpath 'com.android.tools.build:gradle:2.2.3'
  • 项目minSdkVersion为 16,targetSdkVersion为 25

然而,即时运行图标不会出现在我的运行配置中,重新部署涉及重新启动整个应用程序,大约需要一分钟。错误的一些可能性:

  • 我读到必须禁用 DDMS,Instant Run 才能解决另一个问题。我不知道这是否属实,因为我没有在官方文档中看到它,但是如果我转到Android Device Monitor,我会看到一个无法取消选中的 DDMS 按钮。

  • 预见到未来的集成,我启用了这个项目以允许集成 C++ 代码。我不确定这是否起作用。

4

2 回答 2

1

检查是否minSdkVersion设置为至少 15 和Android plugin for Gradle version至少 2.0.0。

您可以在此处查看所有详细信息

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

于 2017-02-13T14:19:37.980 回答
0

我在两条不同的战线上被拦住了。

  1. 我预计将来会为此项目使用 C++ 库,并使用 C 支持设置创建。使用这种类型的本机库将阻止 Instant Run 工作。
  2. 我想利用最新的 Java 8 特性,在本例中是 Lambda 表达式和 Streams。不幸的是,这需要使用jacktoolchain选项,这将阻止 Instant Run 工作。总的来说,我发现这些功能无论如何都是错误的,所以我选择返回 Java 1.7(在此处插入悲伤的脸)并获得能够进行快速部署的好处。

因为 Java 8 的新特性是如此强大,我希望它们能早日提供给开发人员。我没有探索过的一个选项是在 Java 8 中使用 Zero Turnaround 的热插拔系统,我将对此进行研究。

对于那些来这里诊断即时运行问题的人,请知道检查“显示即时运行状态通知”Settings -> Build, Execution, Deployment -> Instant Run可能会提供有关此功能问题的宝贵线索(Android Studio 2.2)

于 2017-02-16T20:12:40.157 回答