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


79

我今天升级了Android Studio 3.4。我不再能够运行该应用程序。我已经清理了项目,并多次重启了Android Studio。我也使缓存无效无济于事。安装应用程序时出现以下错误:

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,问题得以解决。我稍后启用了Instant Run,而Project A仍然可以正常工作。
  2. 项目B也存在此问题,可以通过启用“即时运行”来解决。但是,打开即时运行后,将立即发生其问题。我认为这两个项目之间没有什么区别。一个嫌疑人是图书馆C项目。库C是项目A的一部分(即其源代码,资源在项目A中)。但是,项目B使用库C的aar作为模块。

6
关闭“设置”中的“即时运行”对我来说解决了问题(如错误答案:任务':app:transformDexWithInstantRunSlicesApkForDebug'的执行失败。无法读取zip文件
Marco Borchert

@MarcoBorchert谢谢。我关闭“即时运行”后,它开始工作。稍后我重新打开了“即时运行”,它现在仍在工作。似乎关闭Instant Run并不能完成其他常规清洁方法无法完成的清洁工作。您能否将您的评论转为答案,以便我接受?

@MarcoBorchert对于另一个项目,我无法重新打开“即时运行”。我必须一直不在。

Answers:


67

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

根据OP,可以重新打开“即时运行”,而对于某些项目不会再次出现该问题。


94

问题在Android Studio 3.4.2中修复。


编辑:这是我关于如何在Android Studio 3.4.0和3.4.1中修复它的旧答案:

使用Gradle 5.4而不是5.1.1可以帮助我解决此错误。

使用以下命令更新gradle-wrapper.properties文件: distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-all.zip

请注意,我尚未测试过较早的Gradle版本,因此即使(例如)5.2版本也可以使用。-你可以在这里看到所有的摇篮版本https://gradle.org/releases/


谢谢。我刚刚尝试并确认了这种补救措施。不幸的是,我只能接受一个答案。我想Google会以一种或另一种方式解决此问题。一种方法是强制更新Gradle。

5
@Hong您可以更改接受的答案。这种解决方案显然不是更好的选择,并且对其他读者也有帮助,因为它不仅是一种解决方法。
Marco Borchert,

请原谅我在这些事情上的保守态度。除非经过了广泛的测试,否则我通常不使用最新版本。我认为每个Android Studio更新在发布之前都经过许多同类Beta测试人员的测试。

@Hong好吧,我认为我们比起新发行的Android Studio,对Gradle测试(由于该版本已经公开发布了一段时间)的信任度更高,因此存在明显的问题。另外我还没有测试其他Gradle版本,但是如果您不想使用最新版本,也许可以使用5.4之前的版本(还要注意,最新版本现在是5.4.1)-请参阅gradle.org/releases 我用此更新了我的答案信息。
罗伯

1
这似乎已在Mac上的AndroidStudio 3.4上运行。感谢@Robyer
雨果

37

无需关闭即时运行。
只需删除项目中的“ .gradle”目录并在“ app”模块内构建目录即可。
执行清理项目和重建项目。
这样可以解决问题。


4
为我正确答案!甚至不需要清洁。刚刚删除了.gradle文件夹(在Android Studio的左侧窗口中选择“项目”模式)。
Regis_AG

2
正确答案!无需禁用即时运行。谢谢!
rstewart22,19年

哦,是的!这就是答案。
泰迪

非常感谢你!我努力奋斗了一个小时,直到看到你的小费。
Igor de Lorenzi

非常感谢!我已经尝试了所有方法,但都行不通。仅此有效。如果我能提前几个小时看到它
user1885498

6

这是由android studio 3.4中的“即时运行”功能引起的,您可以通过以下方式禁用它:

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

请享用...!


2

转到项目文件夹,然后将所有内容从... \ app \ build \移至项目外部的其他文件夹。(以清除带有备份的构建文件夹)在我的情况下,清除构建文件夹解决了prompm,直到那时我都为每个新安装禁用了即时运行选项。


3
在mi的情况下,移动build目录是不够的,我也必须移动目录,.gradle从而解决了该问题。
carrizo

0

我同时尝试了“ Gradle 5.4”和“ Switching off Instant Run”解决方案,但是直到我打开“ Wait for Debugger”选项,直到手机中的“ Developer Options”(华为Mate 10),它们才起作用。我已经确认这也仅适用于“立即运行”功能。


0

在Windows上我遇到了这个问题。我通过禁用即时运行解决了这一问题。我在Linux上也有相同的Android Studio版本,并且在启用即时运行后可以正常工作。



0

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


-1

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.