如何修复“任务 ':app:processDebugResources' 执行失败。> Android 资源链接失败”[Android/Flutter]
Posted
技术标签:
【中文标题】如何修复“任务 \':app:processDebugResources\' 执行失败。> Android 资源链接失败”[Android/Flutter]【英文标题】:How to fix "Execution failed for task ':app:processDebugResources'. > Android resource linking failed"[Android/Flutter]如何修复“任务 ':app:processDebugResources' 执行失败。> Android 资源链接失败”[Android/Flutter] 【发布时间】:2019-06-06 17:04:34 【问题描述】:它突然发生了。一天我运行我的代码,它工作得很好,第二天,没有接触我的 build.gradle 文件或任何其他构建文件,这个错误就弹出了。
我尝试了很多不同的解决方案,例如更改我的 buildToolsVersion 或将 AAPT(不记得哪个)的特定标志设置为 false。没有任何效果。 我的 app\build.gradle 文件:
android
compileSdkVersion 27
buildToolsVersion '27.0.3'
sourceSets
main.java.srcDirs += 'src/main/kotlin'
lintOptions
disable 'InvalidPackage'
defaultConfig
// TODO: Specify your own unique Application ID
(https://developer.android.com/studio/build/application-id.html).
applicationId "com.skydevs.bookx"
minSdkVersion 16
targetSdkVersion 27
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
buildTypes
release
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release`
works.
signingConfig signingConfigs.debug
flutter
source '../..'
dependencies
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-
core:3.0.2'
implementation 'com.google.firebase:firebase-core:16.0.1'
apply plugin: 'com.google.gms.google-services'
我得到的错误是:
Execution failed for task ':app:processDebugResources'.
> Android resource linking failed
Output: C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:7: error: resource android:attr/dialogCornerRadius not found.
C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:11: error: resource android:attr/dialogCornerRadius not found.
C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:905: error: resource android:attr/fontVariationSettings not found.
C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:905: error: resource android:attr/ttcIndex not found.
error: failed linking references.
Command: C:\Users\baada\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\a5cc63922d025d4315a498efa486650c\aapt2-3.2.1-4818971-windows\aapt2.exe link -I\
C:\Users\baada\AppData\Local\Android\sdk\platforms\android-27\android.jar\
--manifest\
C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\merged_manifests\debug\processDebugManifest\merged\AndroidManifest.xml\
-o\
C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\processed_res\debug\processDebugResources\out\resources-debug.ap_\
-R\
@C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\incremental\processDebugResources\resources-list-for-resources-debug.ap_.txt\
--auto-add-overlay\
--java\
C:\Users\baada\AndroidStudioProjects\bookx\build\app\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\
--custom-package\
com.example.bookx\
-0\
apk\
--output-text-symbols\
C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\symbols\debug\R.txt\
--no-version-vectors
Daemon: AAPT2 aapt2-3.2.1-4818971-windows Daemon #0
Output: C:\Users\baada\.gradle\caches\transforms-1\files-1.1\appcompat-1.0.2.aar\aa44270b14856bd5a0b17a3c0a45cb34\res\values-v28\values-v28.xml:9:5-12:13: AAPT: error: resource android:attr/dialogCornerRadius not found.
C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:11: AAPT: error: resource android:attr/dialogCornerRadius not found.
C:\Users\baada\.gradle\caches\transforms-1\files-1.1\core-1.0.1.aar\bc8b94f938baa5558925fd51b49cb6bf\res\values\values.xml:89:5-125:25: AAPT: error: resource android:attr/fontVariationSettings not found.
C:\Users\baada\.gradle\caches\transforms-1\files-1.1\core-1.0.1.aar\bc8b94f938baa5558925fd51b49cb6bf\res\values\values.xml:89:5-125:25: AAPT: error: resource android:attr/ttcIndex not found.
error: failed linking references.
Command: C:\Users\baada\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\a5cc63922d025d4315a498efa486650c\aapt2-3.2.1-4818971-windows\aapt2.exe link -I\
C:\Users\baada\AppData\Local\Android\sdk\platforms\android-27\android.jar\
--manifest\
C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\merged_manifests\debug\processDebugManifest\merged\AndroidManifest.xml\
-o\
C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\processed_res\debug\processDebugResources\out\resources-debug.ap_\
-R\
@C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\incremental\processDebugResources\resources-list-for-resources-debug.ap_.txt\
--auto-add-overlay\
--java\
C:\Users\baada\AndroidStudioProjects\bookx\build\app\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\
--custom-package\
com.example.bookx\
-0\
apk\
--output-text-symbols\
C:\Users\baada\AndroidStudioProjects\bookx\build\app\intermediates\symbols\debug\R.txt\
--no-version-vectors
Daemon: AAPT2 aapt2-3.2.1-4818971-windows Daemon #0
【问题讨论】:
我遇到了类似的问题。你最近是否也升级了一些 Flutter 包? 我刚刚修复了类似的问题 ==> ***.com/a/71146453/13698241 【参考方案1】:今天,我在我昨天工作的项目中遇到了同样的错误。
一些升级导致这个错误IMO,我的解决方案是:
通过 Android Studio 打开项目
打开android/build.gradle
和android/app/build.gradle
只需纠正 IDE 警告的内容,它通常会警告您的 SDK、Kotlin 和 Gradle 版本等。
这不是强制性的,但您可以检查您的 .bashrc 导出或环境变量,有时它可以解决一些问题。
编辑:当您更新 SDK 版本时,不要忘记升级您的项目依赖项。
【讨论】:
感谢您的友好解答。有很多这样的帖子,但没有一个具有如此准确的答案。【参考方案2】:我认为这取决于您使用的 android 模拟器 API 级别。
在我的例子中,我使用了 android 模拟器 API 30,但 compileSdkVersion
是 28
,所以我得到了错误!通过将compileSdkVersion
更新为30
,一切正常!
操作系统:Ubuntu 20.04 LTS Android 模拟器 API 30 Dart 2.10.2 Flutter 1.22.2
【讨论】:
【参考方案3】:我在使用颤振时遇到了同样的错误,但在我的情况下,问题是由我的 Adroid 项目中“res”文件夹中的文件中的行不正确引起的。
您需要检查您的代码,在我的情况下,它正在调用我的 android/app/src/main/res/launcher/drawable/launch_background.xml 文件中不存在的资源,确保您的所有资源和xml文件没问题。
【讨论】:
【参考方案4】:检查一下 How to fix "Execution failed for task ':app:processDebugResources'. > Android resource linking failed"[Android/Flutter]
我在使用颤振时遇到了同样的错误,但在我的情况下,问题是由我的 Adroid 项目中“res”文件夹中的文件中的行不正确引起的。
您需要检查您的代码,在我的情况下,它正在调用我的 android/app/src/main/res/launcher/drawable/launch_background.xml 文件中不存在的资源,确保您的所有资源和xml文件没问题。
【讨论】:
【参考方案5】:请检查您的 strings.xml,它应该是这样的:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">App Name here</string>
<string name="facebook_app_id">2206883509627625</string>
<string name="fb_login_protocol_scheme">fb2206883509627625</string>
</resources>
特别注意添加这一行:
<string name="app_name">App Name here</string>
【讨论】:
【参考方案6】:确保您已连接到 Internet 并重建项目。这解决了我的问题。
【讨论】:
以上是关于如何修复“任务 ':app:processDebugResources' 执行失败。> Android 资源链接失败”[Android/Flutter]的主要内容,如果未能解决你的问题,请参考以下文章