任务 ':app:processReleaseResources' 执行失败。 Android资源链接失败

Posted

技术标签:

【中文标题】任务 \':app:processReleaseResources\' 执行失败。 Android资源链接失败【英文标题】:Execution failed for task ':app:processReleaseResources'. Android resources linking failed任务 ':app:processReleaseResources' 执行失败。 Android资源链接失败 【发布时间】:2022-01-04 01:05:59 【问题描述】:

在尝试构建 appbundle 时遇到此错误。 我正在使用 VS Code 进行构建。我可以使用 android Studio,但首先我想确保我可以使用 VS Code 解决这个问题。

Flutter 2.5.3 • 通道稳定 工具 • Dart 2.14.4

我的 build.gradle 文件如下:

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) 
    localPropertiesFile.withReader('UTF-8')  reader ->
        localProperties.load(reader)
    


def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) 
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")


def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) 
    flutterVersionCode = '1'


def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) 
    flutterVersionName = '1.0'


apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) 
   keystoreProperties.load(new FileInputStream(keystorePropertiesFile))



android 
    compileSdkVersion 30

    sourceSets 
        main.java.srcDirs += 'src/main/kotlin'
    

    defaultConfig 
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.waaiburg_app"
        minSdkVersion 19
        targetSdkVersion 30
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    

    signingConfigs 
       release 
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
           storePassword keystoreProperties['storePassword']
       
   
   buildTypes 
       release 
           signingConfig signingConfigs.release
       
   


flutter 
    source '../..'


dependencies 
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.google.android.material:material:1.5.0-alpha05'


错误:

Building without sound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety

Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:bundleReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Android resource linking failed
     C:\Users\xxxxxx\.gradle\caches\transforms-2\files-2.1\33377b87c8e52a3339eefad7aba2d7f9\material-1.5.0-alpha05\res\values-v31\values-v31.xml:3:5-94: AAPT: error: resource android:color/system_neutral1_1000 not found.

     C:\Users\xxxxxx\.gradle\caches\transforms-2\files-2.1\33377b87c8e52a3339eefad7aba2d7f9\material-1.5.0-alpha05\res\values-v31\values-v31.xml:16:5-102: AAPT: error: resource android:color/system_neutral2_1000 not found.

     C:\Users\xxxxxx\.gradle\caches\transforms-2\files-2.1\33377b87c8e52a3339eefad7aba2d7f9\material-1.5.0-alpha05\res\values-v31\values-v31.xml:17:5-102: AAPT: error: resource android:color/system_neutral2_900 not found.

     C:\Users\xxxxxx\.gradle\caches\transforms-2\files-2.1\33377b87c8e52a3339eefad7aba2d7f9\material-1.5.0-alpha05\res\values-v31\values-v31.xml:18:5-101: AAPT: error: resource android:color/system_neutral2_0 not found.

     ...

     C:\Users\xxxxxx\.gradle\caches\transforms-2\files-2.1\33377b87c8e52a3339eefad7aba2d7f9\material-1.5.0-alpha05\res\values-v31\values-v31.xml:8:5-94: AAPT: error: resource android:color/system_neutral1_600 not found.

     C:\Users\xxxxxx\.gradle\caches\transforms-2\files-2.1\33377b87c8e52a3339eefad7aba2d7f9\material-1.5.0-alpha05\res\values-v31\values-v31.xml:9:5-94: AAPT: error: resource android:color/system_neutral1_500 not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 8s
Running Gradle task 'bundleRelease'...                             69,9s
Gradle task bundleRelease failed with exit code 1

build.gradle:我尝试将 targetSdkVersion 和 compileSdkVersion 从 30 更改为 29,但我不确定如何找到我正在使用的 Android-sdk,以便它们匹配。

我还查看了一些给出错误的文件,结果:我也无法在 xml 文件中找到具有给定值的条目(例如:ndroid:color/system_neutral1_1000 不在给xml文件)

我之前在使用 Gradle 时遇到过一些错误(assembleDevdebug 和 assembleDebug-task)。我的 Avast 防病毒软件阻止了某些文件被访问。但我确信这个问题不是这种情况。

我已经安装了:

Android 11(API:30); AndroidR 预览版(API:R); Android 9.0 (API: 28); Android 8.1 (API: 27); Android 8.0 (API: 26); Android 5.1 (API 22) 和 Android 5.0 (API 21)。

是否建议删除除一个 android 版本之外的所有版本,或者这不是问题?

我注意到所有文件都在一个名为 ...\values-v31... 的文件夹中...这是否表明我需要安装 API 级别 31?我不想安装另一个 SDK,因为我的驱动器很快就会被填满。

【问题讨论】:

【参考方案1】:

我通过 Android Studio 的 SDK 管理器安装了 sdk level 31。我还使用 AVD-manager 创建了一个虚拟设备 (VD)。在创建时,我还从 API 级别 31 下载了 x86 映像,因此我不必担心丢失文件。 (见图)

我还在 build.gradle 文件中将我的 CompileSdkVersion 和 targetsSdkVersion 升级到了 31。

尝试在我的新 VD 上运行和调试时遇到另一个错误。我通过启用 multidex support 解决了这个问题。但是尝试在新的虚拟设备上构建我的应用程序时仍然出错,所以我制作了另一个更低(Android 11,API 级别 30)的虚拟设备来测试我的应用程序,它可以正常工作!

我的 appbundle 已成功构建。进入将应用程序发布到 Google Play 的后续步骤!祝我好运。

Screenshot of SDK Manager

Screenshot of AVD Manager, while creating virtual device

【讨论】:

以上是关于任务 ':app:processReleaseResources' 执行失败。 Android资源链接失败的主要内容,如果未能解决你的问题,请参考以下文章

任务计划程序打开软件的原理

CELERY 定时任务

“异步任务然后等待任务”与“任务然后返回任务”[重复]

宏任务和微任务的执行顺序

宏任务和微任务

20230515学习笔记——js中的同步任务与异步任务,宏任务与微任务