编译时processDebugResources\R.jar文件被占用导致报错的问题咨询
I see some error every compilation:
compile_and_runtime_not_namespaced_r_class_jar\debug\processDebugResources\R.jar: The process cannot access the file because it is being used by another process
兄弟我太懂这个报错的糟心了!之前在Windows上搞Android项目时,这个问题简直是隔三差五找上门,给你分享几个亲测有效的解决办法,按顺序试基本都能搞定:
先试最省心的:重启IDE
很多时候就是Android Studio的后台进程卡住了,死死攥着R.jar文件没释放。直接重启AS,等它重新加载完项目再编译,大概率就能解决八成这类问题。彻底清缓存+强制重启
要是单纯重启IDE没用,就来个狠的:点击顶部菜单栏的File->Invalidate Caches...,勾选Clear file system cache and local history,然后点Invalidate and Restart。这操作会清掉IDE的所有缓存并强制重启,比单纯重启更彻底,能解决很多奇奇怪怪的缓存残留问题。手动删构建文件+同步Gradle
有时候项目的build文件夹里的旧文件会被莫名占用,手动删了就行:- 先关掉IDE,找到项目根目录下的
build文件夹、各个模块里的build文件夹,全部删掉 - 再删掉项目根目录的
.gradle文件夹(放心,重新同步会自动生成新的) - 重新打开IDE,点击右上角的
Sync Project with Gradle Files按钮,等同步完成后再编译
- 先关掉IDE,找到项目根目录下的
结束后台Java进程
打开Windows任务管理器,搜java.exe或者javaw.exe,把那些和你项目构建相关的进程(尤其是占用内存偏大的)结束掉——有时候Gradle的守护进程没正常退出,就会霸占着文件不松手。结束后回去再编译试试。排查杀毒软件的误拦截
我之前碰到过一次,是电脑的杀毒软件把R.jar当成可疑文件锁住了。你可以暂时关闭实时防护,再编译一次,如果成功了,记得把项目的build文件夹加入杀毒软件的白名单,避免以后再被误拦。
要是这些方法都试过还不行,那可以试试在gradle.properties里加一行org.gradle.daemon=false禁用Gradle守护进程,不过这是最后一招,前面的方法基本都能解决问题啦!




