升级到 Android Studio 3.4后,与 resources_ap 相关的错误

我今天升级了 Android Studio 3.4。我不能再运行这个应用程序了。我清理了这个项目,重新启动了很多次 Android 工作室。我还使缓存无效,但没有用。 我在安装应用程序时出现了以下错误:

FAILURE: Build failed with an exception.


* What went wrong:
Execution failed for task ':app:transformDexWithInstantRunSlicesApkForDebug'.
> java.lang.RuntimeException: java.io.FileNotFoundException: E:\...\app\build\intermediates\instant_run_split_apk_resources\debug\instantRunSplitApkResourcesDebug\out\slice_1\resources_ap

有人能提供一些补救的建议吗?

编辑: 在这个问题上,我有两个行为不同的项目:

  1. 项目 A 最初有这个问题。我根据答案禁用了即时运行,问题就解决了。后来我启用了 Instant Run,项目 A 仍然运行良好。
  2. 项目 B 也有这个问题,已经通过转向即时运行得到了补救。但是,一旦打开 Instant Run,它的问题就会立即出现。我不知道这两个项目的结果有什么不同。一个嫌疑人是库 C 项目。库 C 是项目 A 的一部分(即它的源代码,资源在项目 A 中)。然而,项目 B 使用库 C 的 aar 作为模块。
23833 次浏览

关闭“即时运行”作为解决方案(文件/设置/即时运行)似乎可以消除这个问题。

根据 OP,有可能打开即时运行回来,没有问题反复出现的一些项目。

在 Android Studio 3.4.2中修复了 应该是问题。


编辑: 关于如何在 Android Studio 3.4.0和3.4.1中修复这个问题,这是我以前的回答:

使用 Gradle 5.4而不是5.1.1帮助我解决了这个错误。

用以下方法更新 梯级包装纸,性能文件: distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-all.zip

请注意,我还没有测试旧的 Gradle 版本,所以它甚至可能(例如)5.2版本将工作。你可以在这里看到所有的格拉德发行版 -https://gradle.org/releases/

我尝试了“ Gradle 5.4”和“关闭即时运行”两个解决方案,但它们都不起作用,直到我打开“等待调试器”选项,直到我的手机上的“开发者选项”(华为10)。我已经确认,这只是工作与“即时运行”关闭以及。

这是由于安卓工作室3.4中的“即时运行”功能造成的,你可以通过以下方式禁用它:

打开“设置”或“首选项”对话框。导航到构建、执行、部署 > 即时运行。取消选中“启用即时运行”旁边的复选框

好好享受!

转到您的项目文件夹,并移动一切从... 应用程序生成到其他文件夹外的项目。(转至 清除生成文件夹及备份) 在我的情况下,清除构建文件夹解决了这个问题,直到那时,我是禁用每个新安装的即时运行选项。

这个问题发生在我的 Windows 上,我通过禁用即时运行来解决它。 我在 Linux 上也有相同的 Android Studio 版本,它在启用即时运行的情况下工作得很好。

这是在3.4.2中修复的。只需更新到最新版本的 Studio.https://androidstudio.googleblog.com/2019/07/android-studio-342-available.html

同样的错误发生在我更新到 Android Studio 3.4.2时,我将 tools-build-gradle 更新到3.4.2,问题就消失了。

关闭“即时运行”作为解决方案(文件/设置/即时运行)似乎可以消除这个问题。

没有必要关闭即时运行。
只需删除项目中的“ . gradle”目录,并在“ app”模块中构建目录。
执行清洁项目和重建项目。
这样问题就解决了。