错误:任务':app:processDebugResources'的执行失败。> java.io.IOException:无法在android studio中删除文件夹“”


76

我试图使用Android Studio开发一个Android应用程序,因此我创建了一个Android应用程序,并希望将其发布。每当我单击“ build project”以获取apk文件时,都会出现此错误:

Error:Execution failed for task ':app:processDebugResources'.
> java.io.IOException: Could not delete folder C:\Users\ehsan\AndroidStudioProjects\MyApplication3\app\build\generated\source\r\debug\com\example\ehsan

屏幕截图显示了错误消息

Build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.ehsan.myapplication"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.0'
}

粘贴您的gradle文件
。.– cgr

@cgr是哪个版本或设置?
Ehsan Akbar

粘贴构建gradle。
cgr

2
嗨,执行这个代码根项目gradlew --stacktrace 。可以帮助您。
艾哈迈德·阿加扎德

试试这个链接stackoverflow.com/a/51568314/5305430。终身解决问题。
sushildlh

Answers:


88

我猜目标构建目录中的某些文件已在您使用的另一个工具中打开。只是在文件夹中打开一个文件句柄,需要清理。构建任务“ clean”想要删除构建目录(通常为“ target”)中的所有文件,并且在失败时,构建失败。


13
我只是删除文件夹并重新构建。
Ehsan Akbar

1
嗨..我应该删除哪个文件夹?
kurniawan17年

8
如果使用React Native,则在项目文件夹中将存在androidbuild从那里删除-至少这对我有用。
FirstOne

@Henning Luther对此有其他解决方案吗,因为每次清洁和建造需要25分钟时,我的项目都会很大
罗斯

1
@Rose尝试将您的项目拆分为较小的模块,在这些模块中并非所有时间都在重建,而是仅更改了模块
Henning Luther

175

反应本机

从您的本机文件夹运行:

cd android && gradlew clean

然后

cd .. && react-native run-android

笔记:

对于Mac,您可能需要更改gradlew./gradlew

对于命令提示符,您可能需要将更&&改为&

对于PowerShell中,您可能需要改变&&,以;gradlew.\gradlew.bat

每个命令还可以像这样单独运行cd android,然后gradlew cleancd ..然后react-native run-android


4
cd android && gradlew clean清洁没有用,但是cd android然后gradlew clean完美地工作了!谢谢!
瑞安·佩金特

这可行,但是会使构建过程慢得多...希望有办法解决根本问题!
Venryx

终于找到了一种似乎可以解决根本问题的方法!github.com/facebook/react-native/issues/…–
Venryx

仅供参考,对于Windows,您需要使用gradlew.bat
MickRip

在Windows中,gradlew.bat clean对我有用,但是最近这些问题在我身上发生过几次,我不知道原因是什么!
纽比

20

只是清理您的项目,它对我有用。

gradle的清理任务将起作用。


正如在ops问题中看到的那样,清理工作完全不起作用,当然,稍后清理可以解决问题,只是因为文件句柄已被os关闭
Henning Luther

1
一个更好的解决方案是运行:cd android && ./gradlew clean通过@robertmylne提到
Hesham亚辛


6

修复非常简单:只需按照以下说明进行操作

  1. 首先,保存项目
  2. 点击项目文件夹
  3. 单击菜单栏中的“同步”按钮(“文件”菜单选项下方左侧的第三个图标)
  4. 清理项目并运行

5

正如其他人已经说过的,您需要清理项目,清理项目的步骤是:

生成->清理项目或生成->重建项目


这对我有用,除了我还必须删除Windows资源管理器中的(空)“ build”文件夹,因为AS似乎无法删除。清洁然后工作正常。
Hamish_Fernsby

5

就我而言,该问题与权限有关。如果您以管理员身份打开android studio(或使用sudo),则如果以普通用户身份再次打开项目,则android studio可能不会删除某些文件,因为当您以管理员身份打开项目时,某些项目文件的权限已更改。如果执行了这些步骤,我认为您应该再次从VCS(git,tfs,svn等)克隆项目。否则,您必须配置项目文件-文件夹权限。


2

我有同样的问题。当我清理我的项目并重建它时,一切工作正常。

构建->清洁项目


2

只需清洁您的项目(Android Studio>构建>清洁项目),然后再次构建。


2

我在本文中找到了另一个方便的解决方案,该解决方案避免了一次又一次地重建所有组件:http//bitstopixels.blogspot.ca/2017/04/react-native-windows-10-eperm-operation.html

  1. 执行 react-native run-android
  2. 一旦React Packager窗口打开,就将其关闭
  3. 等待react-native run-android完成,向您提供BUILD SUCCESSFUL消息。(该应用程序将启动,并显示红色错误屏幕,提示无法连接到服务器。不要惊慌。)
  4. 然后运行react-native start以启动React Packager,这是上一步错误消息中指示的服务器
  5. 在模拟器或设备中重新加载应用程序(双击R键)

2

如果由于使用sudo命令打开android studio而遇到这些错误,则解决方案是为项目文件夹设置权限。运行以下命令。

sudo chmod -R 777 your_project_folder

清理并再次重建您的android项目。


1

反应本机

这些步骤解决了我的问题:

  • 将ReactNativeApp / android / build目录重命名为old.build
  • 关闭Android Studio
  • 在ReactNativeApp / android内部执行此命令。gradlew清洁
  • 确保我的内存为1500mb
  • 然后最后执行命令react-native run-android

**关闭Android Studio非常有趣。但请相信我,这些步骤解决了我的问题**




0

更新您的gradle版本。

转到您的项目级别build.gradle文件,并确保您使用的是最新版本的gradle。



0

如果说:

术语“ gradlew”无法识别

然后使用以下命令

npm start -- --reset-cache

为我工作。干杯!


1
我真的看不出这个答案与问题有什么关系。OP没有对这个错误消息说任何话。
Antoine Thiry





0

我只是从package.json中删除错误包,然后再次运行gradlew clean及其对我有用对于React Native


0

我删除了文件夹app / build,问题就此解决了。


0

以我为例,您已经安装了该应用程序,当您提供react-native run-android该应用程序时,由于先前已安装该应用程序,因此我无法安装该应用程序


-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.