Android Studio在编译时无法删除文件

时间:2017-10-24 18:21:13

标签: java android android-studio io compilation

当我编译我的应用程序以便在模拟器上运行时,Android Studio(版本3.0 RC2)会抱怨,因为它无法删除项目文件夹中的1.jar文件。

以下是错误消息:

Error:Execution failed for task ':app:transformClassesWithDesugarForDebug'.
> com.android.build.api.transform.TransformException: java.io.IOException: 
Could not delete path 'D:\ProgrammazioneOffline\ProjectFolder\app\build\intermediates\transform
 s\desugar\debug\1.jar'.

我发现清理项目会让它再次编译,但过了一会儿再次抱怨。 我的项目并不是那么小,每次重建都需要花费很多时间(重建所有时间大约需要4分钟,而当工作正常时则需要30秒)。

我已经格式化了我的PC并在问题出现之前更改了项目的路径。我忘了在某个地方改变对项目的一些引用吗?

我没有在已知问题中找到这个问题。

提前致谢,抱歉我的英语不好。

编辑:我发现java.exe正在使用该文件并通过cmd将其删除,这使得编译运行但不应该由Android Studio完成吗?

EDIT2:这是firebase插件,问题已修复,请参阅我接受的答案

7 个答案:

答案 0 :(得分:1)

当你尝试重新编译时,也许你的jar仍在运行?

如果是这样,您的系统无法删除,因为它正在使用

答案 1 :(得分:1)

尝试使用外部jdk而不是嵌入式jdk。

答案 2 :(得分:1)

另一个机会是暂时禁用desugaring并带回retrolambda直到bug被修复。

答案 3 :(得分:1)

谷歌团队意识到其中一个原因是firebase性能插件。如果你有它,请将其删除。

答案 4 :(得分:1)

多次面对,只需重建您的项目并检查android studio显示的错误消息并记住android studio要求删除的文件名,然后手动转到该文件,如:C / users / youruser / androidstudioprojects /.../找到该文件,然后手动将其删除,然后返回android studio并清理项目,这一次您不会出错....

希望此帮助。

答案 5 :(得分:0)

现在看来这个问题已得到解决。将您的firebase-perf插件更新到版本1.1.4+('com.google.firebase:firebase-plugins:1.1.4'),并将您的firebase依赖项更新为版本11.6.0 +。

感谢所有回答此问题的人。

来源:https://issuetracker.google.com/issues/68316213

答案 6 :(得分:0)

只需打开项目位置。找到您要删除的文件。如果您尝试删除该单个文件,则不会.so,只需复制所有其他不应删除的文件,然后删除要删除的整个文件 例如:drawable:Ob_photo //(我必须删除此文件),因为文件名不应为大写字母

ic_photo2

删除整个可绘制文件复制ic_photo2