fut*_*eer 11 android android-studio instant-run
配置即时运行后,运行按钮有一个小的黄色霹雳.但是当我运行应用程序时,Android Studio仍然执行完整的构建和安装,图片中列出了完整的消息.
我在http://tools.android.com/tech-docs/instant-run中搜索了官方文档,但没有关于"多个进程"的任何内容.我想知道"多个进程"意味着编译或我的Android应用程序.
我应该配置什么来关闭多个进程并体验即时运行?
您的应用未启用"即时运行",因为它正在使用多个进程.
如Android工具项目网站(http://tools.android.com/recent/androidstudio20beta6availableinthecanarychannel)所述:
"使用多个进程的应用程序(通过清单中的android:进程)没有使用Instant Run正确更新.暂时,我们在这种情况下关闭了Instant Run."
因此,要体验即时运行,您必须确保您的应用程序不使用多个进程.检查你的AndroidManifest.xml.
可能是多进程使用来自导入的库.例如,LeakCanary使用在其自己的AndroidManifest.xml中定义的多个进程.找到定义位置的最佳方法是搜索整个项目(OS X上的Android Studio中的Cmd-Shift-F)以获取"android:process".
我在运行ProcessPhoenix时遇到了这个问题.我没有完全禁用它,而是为我的调试版本禁用了它.
而不是compile我使用
releaseCompile 'com.jakewharton:process-phoenix:2.0.0'
并且为了不破坏构建,我使用反射来触发应用程序进程重启:
try {
Class clazz = Class.forName("com.jakewharton.processphoenix.ProcessPhoenix");
Method triggerRebirthMethod = clazz.getMethod("triggerRebirth", Context.class);
triggerRebirthMethod.invoke(this, new Object[]{getActivity()});
} catch (Exception e) {
// Exception handling
}
Run Code Online (Sandbox Code Playgroud)
所以现在我仍然可以使用Instant Run并保持包含lib.:)
(当然,反射从来都不是理想的,但应用程序进程重启仅用于应用程序中的一个罕见的特殊情况.)
| 归档时间: |
|
| 查看次数: |
2360 次 |
| 最近记录: |