Android Studio Java项目运行报错:Invalid or corrupt jarfile R.jar
Android Studio编译报错:Invalid or corrupt jarfile R.jar
报错信息
"C:\Program Files\Android\Android Studio\jbr\bin\java.exe" -Dfile.encoding=windows-1252 -jar "D:\work\Android Studio\SongTracker\app\build\intermediates\compile_and_runtime_not_namespaced_r_class_jar\debug\R.jar" Error: Invalid or corrupt jarfile D:\work\Android Studio\SongTracker\app\build\intermediates\compile_and_runtime_not_namespaced_r_class_jar\debug\R.jar Process finished with exit code 1
问题背景
调整XML布局(在NestedScrollView中使用RecyclerView)后,先出现找不到@mipmap/ic_launcher文件的错误,后续演变为无法删除app/build目录。手动解压编辑R.jar后问题进一步恶化。
已尝试的无效修复操作
- 删除R.jar后重建项目
- 执行命令
taskkill /im java.exe /f - 执行Clean Project再Rebuild Project(无报错完成)
- 执行File -> Invalidate Caches / Restart
- 重启电脑清除文件锁
- 临时回滚XML变更排查问题
- 手动删除
app/build目录后再Clean和Rebuild项目 - 在任务管理器中终止adb.exe进程
AndroidManifest.xml的Application代码片段
<application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.SongTracker" tools:targetApi="31">
额外异常现象
Android Studio顶部运行按钮旁出现了一个指向R.jar的下拉菜单,当前运行目标被设置为R.jar,而非应用模块。
解决方案建议
- 切换正确的运行目标:在Android Studio顶部的运行目标下拉菜单中,选择你的应用模块(如
app),而非R.jar,这是当前最可能直接解决问题的操作 - 彻底清理构建缓存:
- 删除项目根目录下的
.gradle文件夹 - 删除用户目录下的
.gradle/caches文件夹(路径示例:C:\Users\<你的用户名>\.gradle\caches) - 再次删除
app/build目录,然后执行Clean Project + Rebuild Project
- 删除项目根目录下的
- 检查资源完整性:确认
@mipmap/ic_launcher和@mipmap/ic_launcher_round在所有dpi对应的mipmap目录(如mipmap-hdpi、mipmap-xhdpi等)中都存在,文件未损坏、命名无拼写错误 - 重新同步Gradle:执行
File -> Sync Project with Gradle Files,确保所有依赖和配置同步正确 - 排查XML布局残留错误:即使回滚了XML变更,仍需检查所有布局文件中的资源引用,确认没有无效的drawable、mipmap或ID引用
- 调整项目路径:将项目移动到无空格、无特殊字符的路径下(如从
D:\work\Android Studio\SongTracker改为D:\work\AndroidStudio\SongTracker),避免Windows路径解析问题 - 更换JDK环境:在Android Studio中切换到其他兼容的JDK(如使用Android Studio内置JDK以外的OpenJDK 11/17),或重新安装Android Studio的JBR组件
内容的提问来源于stack exchange,提问作者kiteandwindsurfer
相关产品推荐
相关产品推荐

