修复 Android Studio 中的“Execution failed app:processDebugResources”
资源是应用程序代码使用的文件和静态内容,例如动画、图像、布局和字符串值。这些存储在资源目录中的文件可以从应用程序的代码中引用,但是当调用不存在的引用时,android 会抛出“Execution failed app:processDebugResources”错误。在本文中,我们将讨论 5 种不同的方法来解决此错误。
- 方法一:更改buildTools的版本
- 方法 2:使用 –stacktrace 运行 Gradle
- 方法三:添加需要的库
- 方法四:清理项目
- 方法 5:无效缓存/重启
方法一:更改buildTools的版本
如果未安装应用中使用的 buildToolsVersion 对应的 android SDK,请务必将 buildToolsVersion 更改为已安装的最新 Android SDK Build Tools 版本。
第 1 步:导航到工具 > SDK 管理器
第 2 步:导航到SDK 工具并单击“显示包详细信息”并查找已安装的最新版本的 Android SDK 构建工具版本。
第 3 步:导航到app > Gradle Script > build.gradle (Module:app)并确保 buildToolsVersion 与已安装的最新版本的构建工具相同。
第 4 步:同步项目以解决问题。
方法 2:使用 –stacktrace 运行 Gradle
(a) 确保不要对资源中不存在的字符串提供任何引用。对未在字符串.xml 文件中定义的字符串的引用可能会导致此错误。
(b) 确保遵循资源文件夹中 layout、 字符串、color、attrs、styles、drawable 和各种目录中的命名约定。
要找出导致错误的确切原因,我们可以使用 –stacktrace 命令。
第 1 步:导航到文件 > 设置。
第 2 步:导航到构建、执行、部署 > 编译器并在命令行选项中添加“ -stacktrace ”。
第 3 步:单击应用和确定。
方法三:添加需要的库
如果您运行的是 64 位版本的 Ubuntu,请使用以下命令安装 32 位库:
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
如果您运行的是 64 位 Fedora,请使用以下命令安装库:
sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686
要了解如何添加这些库,请访问官网 https://developer.android.com/studio/install
方法 4:清洁项目
干净的项目会删除构建工件并再次重新编译项目,从而解决问题。导航到构建 > 清理项目
方法 5:无效缓存/重启
解决某些错误的唯一方法是清除缓存数据,这可以通过导航到文件 > 使缓存无效/重新启动 > 使缓存无效并重新启动来完成。