错误 - Android资源链接失败(AAPT2 27.0.3守护程序#0)

问题描述 投票:68回答:24

我有这个错误

我尝试重新安装android studio并删除.gradle文件夹,请问任何解决方案?

    Error:FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Android resource linking failed (AAPT2 27.0.3 Daemon #0)
  Command: C:\javasdk\build-tools\27.0.3\aapt2.exe link -I\
          C:\javasdk\platforms\android-26\android.jar\
          --manifest\



  C:\Users\Jalal D\.gradle\caches\transforms-1\files-1.1\fonticon-0.1.8.aar\2b09376fc14469ba65fc8e4d85c2eed1\res\values\values.xml:19:5-25:25: AAPT: error: resource android:attr/fontVariationSettings not found.

  C:\Users\Jalal D\.gradle\caches\transforms-1\files-1.1\fonticon-0.1.8.aar\2b09376fc14469ba65fc8e4d85c2eed1\res\values\values.xml:19:5-25:25: AAPT: error: resource android:attr/ttcIndex not found.

  error: failed linking references.

* 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 3s
android gradle build
24个回答
40
投票

有完全相同的问题。通过执行以下操作解决此问题:使用平台/ android目录中的com.android.support:support-v4:27.1.0搜索并替换com.android.support:support-v4:+。

另外,我必须将以下代码添加到platforms / android / app / build.gradle和platforms / android / build.gradle文件中:

configurations.all {
resolutionStrategy {
    force 'com.android.support:support-v4:27.1.0'
}}

编辑回答“com.android.support:support-v4:+设置在哪里?” ...

该设置可能(在这种情况下)位于platform / android /目录中的插件的.gradle文件中,例如在我的情况下,它是starter-barcodescanner插件,所以只需浏览所有插件.gradle文件:

enter image description here

仔细检查platforms / android / build.gradle文件。

希望这可以帮助。


1
投票

我遇到了同样的问题,但是因为在我的按钮layout_width / height中,我忘记在编辑它们时将dp放在最后。添加了dp并修复了问题:/


1
投票

在我的情况下,我不小心写道:

styles.xml

有趣的是,Android Studio能够通过CTRL +点击导航字符串。它只是给出了Build Time错误。改为标准的“点分离”就可以了

app:displayViewTitle="@string/instructions_defineExtract_confirm_email"

0
投票

我有类似的问题,但我从解决方案出来的问题是,您使用的依赖项中的任何东西,对应于相同的域但具有不同的版本,确保这些都是相同的


0
投票

我遇到了同样的问题,它通过删除资源文件中的错误来解决,如样式文件夹中的样式,颜色文件。在我的情况下,样式颜色错误如下:

app:displayViewTitle="@string/instructions.defineExtract.confirm.email"

0
投票

更改前一个(27.0.0)启用的最后一个(28.0.0)的支持库版本,错误 <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="android:textColorPrimary">**@color/colorPrimary**</item> <item name="android:textColorSecondary">**@color/colorPrimaryDark**</item> </style> 消失。

应该注意的是,版本27.1.0是我们的实现中允许的最大值,但是如果您愿意,可以使用较旧的版本。并且必须在以字符串Android Resource Linking Failed开头的所有依赖项中使用

项目/应用/的build.gradle

com.android.support:

项目/的build.gradle

implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"

然后,使用Gradle文件同步项目

GL


0
投票

我遇到了同样的问题,但在收到此错误之前,我的应用程序正在运行。所以我刚刚撤消了2/3次。并再次做了改变。并且构建app.app成功运行。


0
投票

此问题可能有多种原因,这些原因主要在资源或应用程序级别的build.gradle文件中。

在我的例子中,资源文件中的视图没有包含在build.gradle文件中的必需依赖项。

因此,请确保在build.gradle文件中包含所有必需的依赖项。


0
投票

添加以下依赖项后,我遇到了同样的问题:

ext {
    supportLibraryVersion= '27.1.0'
}

原因是最新版本的evernote使用依赖于AndroidX,而我的项目中支持库版本27.1.1。因此,可以选择将支持库升级到28.0.0,正如其他答案所示,但对于具有大量自定义视图的大型项目来说,这有点棘手。所以,我通过将evernote版本降级到1.3.1解决了这个问题。


0
投票

它可能听起来很平庸,但对我来说implementation 'com.evernote:android-state:1.4.1' annotationProcessor 'com.evernote:android-state-processor:1.4.1' 修正了这个错误而没有任何其他变化。


0
投票

对我来说,使用Asset Studio更改我的启动器图标后出现错误。事实证明,生成的Build > Clean Project文件缺少文件顶部的以下行:ic_launcher_foreground.xml


39
投票

如果您的任何XML资源中存在错误,也可能会出现Android资源链接失败错误。在我的情况下,我在drawable文件夹中的一个XML drawable中使用了以下两行:

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>

我删除了重复的行,错误消失了。该错误有点误导:

Android资源链接失败输出:/Users/johndoe/Desktop/myapp/app/src/main/res/layout/activity_main.xml:2:错误:资源drawable / bg_main(又名com.example.myproject:drawable / bg_main)没有找到。

根据上面的错误,您需要做的第一件事是证明读取在activity_main中访问的所有可绘制资源,因为您将发现错误的可能性更高。在最坏的情况下,您可能最终会检查所有资源文件。


0
投票

我从1月28日开始使用Studio 3.3.1 Build。

对我来说,我得到了“错误android资源链接失败”指向布局文件中的一行使用ConstraintLayout一直正常工作,直到今天,我的应用程序级别gradle文件的唯一更改是更新版本:

<?xml version="1.0" encoding="utf-8"?>

android.arch.navigation:navigation-fragment android.arch.navigation:navigation-ui 1.0.0-rc01

错误消息说了一些关于不承认1.0.0-rc02的事情当然是愚蠢的,因为它几个月来一直在愉快地编译。

我已经在28.0.3的构建工具和28的layout_constraintTop_toTopOf。我已经在各地使用compileSdkVersion一段时间了(将这个项目转换回androidx)。

我首先完成了一个项目清理(没有帮助),并使缓存/重启无效(没有帮助)。有问题的布局最初是使用定义的

androidx.appcompat<TextView><EditText>组件(直到今天一直工作正常)。

但在阅读了上述答案后,我想也许某种程度上会引起混淆,所以我改变了布局使用:

<ImageView>

所有各种组件的版本。没有变化 - 仍然有错误。

然后我删除了导致编译错误的<androidx.appcompat.widget 块。我在其他小部件中更改了对它的所有引用,以改为引用“父级”。做了一个Make。这次编译完成没有错误。

所以在我认为的小部件定义中有些奇怪......这就是它的内容:

<androidx.appcompat.widget.AppCompatTextView

然后我粘贴了我之前使用Ctrl-V剪切的块,并将引用更改回在布局中引用它的其他组件中的ID。编译失败。

我再次切块并将其粘贴到写字板上。然后从写字板粘贴中读取,我实际上输入了它(即我没有复制/粘贴这一次) - 逐行,在我输入最小定义后对项目执行make,然后再次我放入每一个新行。每次项目编译干净!

我不知道该怎么做。也许原始文件中有一些虚假的隐形字符?


0
投票

通过在<androidx.appcompat.widget.AppCompatTextView android:id="@+id/contact_firstname_label" android:layout_width="0dp" android:layout_height="wrap_content" android:text="@string/contact_fname_label" android:gravity="end" android:textAppearance="@android:style/TextAppearance.Material.Small" app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/contact_detail_fname" app:layout_constraintBaseline_toBaselineOf="@+id/contact_detail_fname"/> compileSdkVersion 23替换compileSdkVersion 28来解决我的问题。


0
投票

找到导致此问题的原因之一

当我们尝试使用任何

串,款式,颜色等,

在清单文件中,值build.gradle (Project: build)中不存在,则会发生此类错误


0
投票

感觉很蠢 - (无论出于何种原因)我在drawable文件夹中有一个空的xml。和AS产生了数十个无关的错误> <

所以,我的一般建议是一样的 - 简要检查每个资源文件。


0
投票

检查您的Gradle插件版本。如果您在此问题出现之前更新到较新版本,请尝试降级它。转到文件 - >项目结构。更改为以前的版本。


34
投票

注意:如果您将支持库升级到28.0.0并且您的compileSdkVersion也不是28,那么Android Studio会发出大量疯狂的错误。


7
投票

如果您使用的是Windows 10和Android Studio 3.2,则只需转到应用程序的build.gradle,然后更改版本即可。


3
投票

com.android.support:support-v4刚刚获得更新,可能会影响在其依赖项中使用更新版本的插件。但是如果你在依赖项中找不到(比如你使用crosswalk插件),只需将这段代码放在你的代码gradle插件之上(不需要在build.gradle上添加)。

configurations.all {
resolutionStrategy.force 'com.android.support:support-v4:24.0.0'
}

将代码放入crosswalk插件here的示例位置

随意编辑com.android.support版本(不要使用28.0.0),因为这就是问题所在


3
投票

我通过在所有ID之前添加@+id/来解决它。

即yaazkssvpoi


1
投票

资源文件中应该有一些错误。这意味着可能会遗漏属性的类型值。浏览资源文件并更正这些值并享受工作。


1
投票

尝试更新最新的构建版本,目标和编译版本,并更新依赖项,但不适合我

在我的情况下,改变@+id/your_item_id<meta-items/>清单工作为我...

希望它对某人有帮助......


1
投票

我为项目导入了新颜色并遇到了同样的问题。所以我打开了<meta-data/>,并使用新的颜色名称将项目重新分配给颜色。

© www.soinside.com 2019 - 2024. All rights reserved.