错误-Android 资源链接失败(AAPT227.0.3守护进程 # 0)

我有个错误

我正在尝试重新安装 android 工作室并删除. 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
427950 次浏览

遇到了完全相同的问题,通过以下方法解决了它: 在 Platform/android 目录中用 Support: support-v4:27.1.0搜索并替换 com.android.support:support-v4:+

我还必须将以下代码添加到平台/android/app/build.gradle 和平台/android/build.gradle 文件中:

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

编辑后回答“这个 com.android.support: support-v4: + set 在哪里?”..。

该设置可能(在这种情况下)在您的插件之一。在 Platform/android/目录中的 gradle 文件,例如在我的例子中,它是 starter-barcodescanner 插件,所以只要遍历所有的插件就可以了。档案:

enter image description here

再次检查 Platform/android/build.gradle 文件。

希望这个能帮上忙。

Support-v4最近刚刚更新,可能会影响到使用更新版本的插件的依赖关系。但是如果您无法在依赖项中找到(比如使用 Crosswalk 插件) ,只需将此代码放在代码 gradle 插件的顶部(不需要添加 build.gradle)。

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

将代码放入人行横道插件的示例位置 here

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

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

在我的情况下 改变 <meta-items/><meta-data/>在清单工程为我..。

Hope its helpful for someone...

在您的布局(xml)文件中,几乎每个元素都有一个属性,即“ id”,可以分配这个属性以便从 java/kotlin 代码或 xml 本身引用它。

Now sometimes or in some versions of Android Studio errors in xml files is either not reported or some random error is thrown while compiling, of which, this thread is an example i.e. when assigning an id to an element or when refering to another element in the layout we use the ID but ids are not just written like any other word rather they are prefixed by these characters: @+id/, otherwise the above error is thrown.

因此,应考虑以下解决方案:

我通过在所有 ID 之前添加 @+id/来解决这个问题。

@+id/your_item_id

如果你使用的是 Windows 10和 Android Studio 3.2,你可以直接进入应用程序的 建造,分级,修改版本。

Under dependencies, change version, and build/sync

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

注意: 如果您将支持库升级到 28.0.0,而您的 compileSdkVersion也不是28,那么 Android Studio 就会出现一大堆这样的疯狂错误。

我也遇到过类似的问题,但是解决方案的问题是,你在依赖项中使用的任何东西都对应于相同的域,但是用不同的版本确保它们都是相同的

如果在任何 XML 资源中出现错误,也可能出现 Android 资源链接失败错误。在我的例子中,我在可绘制文件夹中的一个 XML 绘图中使用了两次以下代码行:

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

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

Android resource linking failed 输出:/Users/johndoe/Desktop/myapp/app/src/main/res/layp/Activity _ main.xml: 2: 资源可绘制/bg _ main (又名 com.example.myproject:drawable/bg_main) not found.

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

我导入了新的颜色到我的项目,并得到了同样的问题。因此,我打开 styles.xml并重新分配项目的颜色使用新的颜色名称。

我面临着同样的问题,它是通过消除错误的资源文件,如样式,颜色文件的值文件夹。 在我的例子中,样式颜色的错误如下:

 <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:textColorPrimary">**@color/colorPrimary**</item>
<item name="android:textColorSecondary">**@color/colorPrimaryDark**</item>
</style>

Changing the version of the support library of the last one enabled (28.0.0) by the previous (27.1.0), the error Android Resource Linking Failed disappeared.

It should be noted that version 27.1.0 is the maximum allowed in our implementations, which works, but you could use an older one if you wish. And this has to be used in all dependencies that start with the string com.android.support:

Project/app/build.gradle

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

Project/build.gradle

ext {
supportLibraryVersion= '27.1.0'
}

然后是 用分级文件同步项目

GL

我也遇到了同样的问题,但是这是因为在我的布局/高度按钮中,我在编辑它们的时候忘了把 dp 放在最后。增加了 dp 和问题修复:/

同样的问题发生在我身上,但是在得到这个错误之前,我的应用程序正在运行。我刚刚撤销了2/3次。并再次做出改变。并且构建 app.app 运行成功。

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

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

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

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

implementation 'com.evernote:android-state:1.4.1'
annotationProcessor 'com.evernote:android-state-processor:1.4.1'

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

It may sound banal, but for me Build > Clean Project fixed this error without any other changes.

对我来说,错误出现在使用 Android Studio 中的 AssetStudio 更改启动程序图标之后。原来生成的 ic_launcher_foreground.xml文件是 缺少 XML 文件顶部的以下一行:

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

I'm using Studio 3.3.1 Build from Jan 28.

For me I was getting the "error android resource linking failed" pointing to a line in a layout file using ConstraintLayout that had been working correctly until today when the only change to my app level gradle file was to update the versions of:

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

1.0.0-rc011.0.0-rc02

错误信息提到了一些关于不能识别 layout_constraintTop_toTopOf的内容,这当然是愚蠢的,因为它已经快乐地编译了好几个月了。

I am already on 28.0.3 of build tools and compileSdkVersion of 28. I've been using androidx.appcompat everywhere for a while now (converted this project months back to androidx).

我首先经历了一个项目 clean (没有帮助)和无效缓存/重启(没有帮助)。有问题的布局最初定义为使用

<TextView><EditText><ImageView>组件(直到今天一直工作良好)。

但是在阅读了上面的答案之后,我认为可能是由于某种原因造成了混乱,所以我改变了布局使用:

<androidx.appcompat.widget

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

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

因此,在这个小部件的定义中有些奇怪的东西,我认为... ... 它是这样的:

<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"/>

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

我再次切割块并粘贴到写字板上。然后从 WordPad 的粘贴中读取,我实际上是一行一行地输入它(也就是说,这次我没有复制/粘贴) ,在输入最小定义之后对项目进行一次 make,然后在输入每一行之后再次输入。每次编译项目都干净利落!

我不知道这是怎么回事。也许文件里原本有一些虚假的隐形人物?

找到了导致这个问题的原因之一

当我们尝试使用任何

string,style,color,etc,

如果清单文件中的 没有出现在值 (string.xml,style.xml,color.xml,etc,)中,那么就会发生这种类型的错误

In my case I accidentally wrote:

app:displayViewTitle="@string/instructions_defineExtract_confirm_email"

有趣的是,Android Studio 能够通过 CTRL + click 导航字符串。它只是给出了构建时错误。改为标准的“点分隔”就可以解决这个问题

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

通过在 build.gradle (Project: build)中用 compileSdkVersion 28替换 compileSdkVersion 23,为我解决了问题。

感觉如此愚蠢-(不管什么原因)我有一个空的 xml 在可绘制的文件夹。和 AS 产生了几十个不相关的错误 > <

因此,我的一般建议是相同的-简要检查每个资源文件。

检查你的 渐变插件版本。如果你在这个问题出现之前已经更新到了一个新版本,试着降低它的等级。 Go to File -> 工程项目结构. Change to the previous version.

我得到了相同的错误,我修复了它,当我关闭 AndroidStudio 和删除目录像 C:\Users\Jalal D\.gradle\caches\transforms-1\在构建错误信息。

我有同样的问题,并解决了它去 File -> Project Structure... -> Suggestions,然后应用所有。就像@JeffinJ 建议的那样,我认为问题在于 Gradle 插件的更新。

在我的例子中,我偶然设置了一个只出现在按钮中的属性的样式,并为 TextView 添加了该样式。

<!-- applied to TextViews -->
<style name="rowStyle">
<item name="android:padding">3dp</item>
<item name="android:borderlessButtonStyle">false</item> <!-- this caused the error -->
<item name="android:background">@drawable/textview_border</item>
</style>

android:borderlessButtonStyle删除行修复了这个问题。

  • 右键单击 可以画的文件夹 选择 “在浏览器中显示”
  • 在打开的文件系统中查找故障文件, 选择它们 (或者选择整个可绘制文件中的文件) , 然后将它们 收到可拉伸 V24引擎文件(不要删除可绘制文件,如果没有可绘制 -v24文件,则创建该文件)。
  • 那就选吧 档案 - > 无效缓存/重新启动 还有
  • 重启 Android Studio。

如果您遇到这种情况: 在我的例子中,我有一个已翻译的字符串,但是该字符串还没有出现在缺省的 strings.xml 中。将缺少的字符串添加到 strings.xml 中,并解决了这个问题。

在我的例子中,错误指向 AndroidManifest.xml 文件:

<meta-data
android:name="com.google.android.actions"
android:resource="@xml/popup_info.xml" />

Which, I'm not sure why Android Studio put that there. I didn't change my manifest file, and this never happened until I upgraded to version 3.5.3 - so AS must have done it for me. Anyway, the line should have looked like this:

<meta-data
android:name="com.google.android.actions"
android:resource="@layout/popup" />

一旦我改变了,一切都好了。

我在一个 XML 的顶部漏掉了这一行:

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

我遇到了同样的错误,并且在一个约束中丢失了@+ id/

        app:layout_constraintEnd_toEndOf="btn_join"

当我像下面这样添加了@+ id/之后,它就被修复了:

        app:layout_constraintEnd_toEndOf="@+id/btn_join"

我就是这样的一个问题,与绘制。

Spent almost 7 hours. tried everything from Google and SO. Nothing worked

然后休息重新打开文件只是看代码,突然它点击到我的脑海中,我命名为 spalsh 的图像文件,而不是飞溅!

那7个小时! ! ! 只是一个小小的错误和太多的压力。

除了这样的奇迹,什么都不管用

我更改了 colors.xml < br/> 中的名称和值,忘记更新 themes.xml (night) 用新的颜色名称替换旧的颜色名称解决了这个问题

当我从一个 xml 文件使用的 drawable文件夹中删除/修改一个文件时,就会发生这种情况,恢复到原来的状态可以解决这个问题。但由于某些原因,Android Studio 没有显示错误的确切位置。

In my case, I deleted the material library:

com.google.android.material:material:1.6.1

一旦我把它拿回来,它又开始工作了(默认应用程序模板中使用的主题使用这个库)。

我只是尝试了 构建 > 制作项目和它的工作!