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 3.3 修复即时应用程序