android studio 2.3 即时运行不工作

Posted

技术标签:

【中文标题】android studio 2.3 即时运行不工作【英文标题】:android studio 2.3 instant run not working 【发布时间】:2017-07-23 02:36:40 【问题描述】:

我已将 android studio 从 2.2 更新到 2.3,然后我发现 Instant run 无法正常工作。

执行时出错:am startservice com.example.codingmaster.testcc/com.android.tools.fd.runtime.InstantRunService 启动服务: Intent act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.codingmaster.testcc/com.android.tools.fd.runtime.InstantRunService 错误:未找到;没有服务启动。

我也尝试重新安装 android studio 2.3 但不起作用。

【问题讨论】:

解决方法,转到设置并禁用即时运行。之后它就可以工作了:) 我也有同样的问题,当我禁用即时运行时,运行应用程序会出现此错误:执行时出错:am start -n "project...../project..... .MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER java.lang.UnsatisfiedLinkError: 找不到 java.lang.String android.os.SystemProperties.native_get(java.lang.String, java.lang.String) (试过 Java_android_os_SystemProperties_native_1get 和 Java_android_os_SystemProperties_native_1get__Ljava_lang_String_2Ljava_lang_String_2) 开启 Instant Run 让它在重启后工作 我也有同样的问题。要启动我的应用程序,我必须在设置中禁用即时运行模式。我将此错误报告给谷歌。您的项目中有多种口味吗?我认为这是我的情况的原因。我在 gradle 日志中有以下行:“在变体 [...] 中禁用增量 Java 编译,因为您正在使用 3 个源文件夹:...” 是的。我有为棒棒糖加速 Multi-Dex 的口味,但不管有没有它,即时运行都是错误的 【参考方案1】:

如果您使用 MIUI 运行设备,请转到开发者设置 > 打开 MIUI 优化并将其关闭。

然后您需要重新启动设备并重新编译代码。

Instant Run 应该会再次运行

【讨论】:

你好,我的小米手机有什么大的变化我就关掉吗?(MIUI优化) 在 google trackercode.google.com/p/android/issues/detail?id=233579#c21987654321@中报告了问题 太棒了!谢谢@Kishan 我的设备是华硕。同样的问题。但是这里没有这样的设置。这很糟糕! 我的乐视。同样的问题。没有设置。非常棒。【参考方案2】:

找到了解决办法。您必须为其他设备制造商(例如华硕、乐视等)启用自动启动支持。

对于乐视 -

    使用 Instant Run 安装应用程序。它应该会失败(如果没有,你为什么要首先阅读这篇文章?)

    转到设置

    个人下查找权限

    选择“您已允许 X 应用程序自动启动”。切换<Your app name> 开启

    完成! Instant Run 有效。

对于华硕,使用自动启动管理器授予该应用自动启动权限。请参阅here 了解更多信息。

对于其他设备,请找到一些类似的设置。

编辑 -

如果您在 Purify(或其他类似应用)中禁用了自动启动,请重新启用它。

来源 - https://code.google.com/p/android/issues/detail?id=235879

【讨论】:

这对我有用,但它是净化引擎而不是内置设置 在 MIUI 上没有帮助。只有禁用 MIUI 优化选项才有帮助,反正你的解决方案不好,为每个调试的应用程序更改自动启动会很愚蠢 @user25 这是唯一的选择,因为 Google 对此无能为力。它是特定于制造商的。【参考方案3】:

我在使用华硕手机时也遇到了同样的问题。

Error while executing: am startservice com.eyelights.android/com.android.tools.fd.runtime.InstantRunService
Starting service: Intent  act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.myapp.android/com.android.tools.fd.runtime.InstantRunService 
Error: Not found; no service started.

感谢这篇文章,我能够再次启动我的应用程序:

https://code.google.com/p/android/issues/detail?id=235879

进入 Android Studio 偏好设置:

像这样禁用即时运行:

现在您可以再次运行您的应用了。切换手机时不要忘记再次启用即时运行。

这不是完美的解决方案,但它确实有效

$ adb shell am start -n "com.myapp.android/com.myapp.android.activity.SplashScreenActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Connected to process 16367 on device asus-asus_z00ed-F9AZCY208273

【讨论】:

【参考方案4】:

从 2.3 开始有新图标。

see this.

【讨论】:

这个图标运行总是重启应用程序!不适合我... 我怎么会错过这个。谢谢!【参考方案5】:

如果您使用的是 Asus Zenfone,请确保自动启动管理器不会阻止您的应用运行。

【讨论】:

对于华硕zenfone max,转到移动管理器(应用程序)->自动启动管理器,允许您的应用程序自动启动。【参考方案6】: 转到文件设置,“构建、执行、部署” 点击即时运行 取消选中启用即时运行复选框 然后申请并确定会解决您的问题

【讨论】:

【参考方案7】:

禁用即时运行。问题跟踪器中的此错误:https://code.google.com/p/android/issues/detail?id=235879

【讨论】:

【参考方案8】:

Instant Run Documentation:

要开始使用 Instant Run,您还需要将构建变体更改为应用的调试版本,并将其部署到运行 Android 5.0(API 级别 21)或更高版本的目标设备。要了解更多加快构建速度的技术,请阅读优化构建速度

所以请确保您的构建变体设置为“调试”。

【讨论】:

【参考方案9】:

如果您将 Genymotion 与 ARM Translation 结合使用,则需要创建一个未安装的新图像,Instant Run 可以正常运行。

【讨论】:

【参考方案10】:

您需要先更新您的 gradle,然后在即时运行工作之后..

为了利用所有最新功能(例如 Instant Run)、改进和安全修复,我们强烈建议您将 Android Gradle 插件更新到 2.3.0 版,将 Gradle 更新到 3.3 版。

谢谢

【讨论】:

我已经将 android gradle 插件更新到 2.3 版本和 gradle 到 3.3 但仍然无法正常工作。我的设备是小米 5s 运行 miui 8【参考方案11】:

我在使用 Android Studio 2.3.2 时遇到了同样的问题,并通过在 gradle 文件中添加这些代码解决了这个问题。

defaultConfig 
    ...
    minSdkVersion 15
    targetSdkVersion 25
    ...

    // Enabling multidex support.
    multiDexEnabled true


 dependencies 
     compile 'com.android.support:multidex:1.0.0'
 

【讨论】:

以上是关于android studio 2.3 即时运行不工作的主要内容,如果未能解决你的问题,请参考以下文章

即时运行 Android Studio 的目标设备 API 级别(API 1)太低

Android Studio 2.0 Beta 5发布,修复几个与即时运行相关的严重BUG.

Android Studio 4.1.1“运行”不编译代码

如何使用 Android Studio 3.3 修复即时应用程序

android studio 2.3 cmake ndk开发第一个项目运行

android studio 2.3 cmake ndk开发第一个项目运行