当前位置: 首页 > 知识库问答 >
问题:

任务“:app:ProcessReleaseResources”执行aapt失败

虞博涛
2023-03-14

质疑我的尝试:

任务应用程序的Gradle构建失败:ProcessReleaseResources
无法执行aapt

我所做的:
我遵循React本地生成签名APK

* What went wrong:
Execution failed for task ':app:processReleaseResources'.
> Failed to execute aapt

完整生成日志

这个问题并没有解决:“Gradle Build For Task App:ProcessReleaseResources”。

以下是尝试的构建工具版本:(在文件:build.gradle中)

buildToolsVersion "23.0.1" // Android SDK Build-Tools
buildToolsVersion "25.0.2" // Android SDK Build-Tools
buildToolsVersion "26.0.2" // Android SDK Build-Tools
buildToolsVersion "26.1.1" // Android Tools
buildToolsVersion "27.0.1" // Android SDK Platform-Tools
buildToolsVersion "27.0.3" // Android SDK Build-Tools

BuildToolsVersion“26.1.1”//Android Tools是唯一没有给我这个错误的:

* What went wrong:
Execution failed for task ':app:processReleaseResources'.
> Failed to execute aapt

但错误是:

* What went wrong:
A problem occurred configuring project ':app'.
> Failed to find Build Tools revision 26.1.1

因此,我发现:未能找到构建工具版本23.0.1
,但这个答案不起作用。

$ android list sdk -a

PS我是react-native的新手

共有1个答案

甄坚白
2023-03-14

生成日志中的错误为:

C:\users\gebr\documents\flavour\openapp\svs_app\android\app\build\mediverates\res\merged\release\drawable-hdpi\node_modules_reactnavigation_src_views_assets_backicon.PNG:错误:未编译的PNG文件作为参数传递。必须首先编译成。平面文件。

这意味着您很可能正在使用一个试图将文件添加到release merged resources文件夹的插件。在Android Gradle插件中,默认情况下启用AAPT2,因此合并文件夹中的文件由它编译(.flat files)。
插件的所有者应该更新代码,在将资源放入合并文件夹之前,首先使用AAPT2编译资源,或者更好的是,将它们作为源集输入传递给合并资源任务(未编译)。我强烈建议使用第二种方法。
在插件的所有者这样做之前,您可以使用gradle插件的旧版本(3.0之前),或者使用标记为Android.enableaapt2=false的最新版本。

 类似资料: