【问题标题】:Android - resource linking failed / failed linking referencesAndroid - 资源链接失败/链接参考失败
【发布时间】:2018-11-02 18:18:34
【问题描述】:

我检查了我的 XML 文件的本地历史记录并仔细检查了我的清单文件,没有发现任何问题。

在发布问题之前,我浏览了很多类似的帖子和建议的答案,但没有发现与我的问题相关的内容。在下方您会找到我的 LOG,希望你们中的某个人可以指导我解决问题!

Android 资源链接失败 输出:\AndroidProjects\myApp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:7:错误:找不到资源 android:attr/dialogCornerRadius。 \AndroidProjects\myApp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:11:错误:找不到资源 android:attr/dialogCornerRadius。 \AndroidProjects\myApp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:605:错误:找不到资源 android:attr/fontVariationSettings。 \AndroidProjects\myApp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:605:错误:找不到资源 android:attr/ttcIndex。 错误:链接引用失败。

命令:C:\Users\lucif.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\c9d8fd27aeabc6968bb2cb43f288855c\aapt2-3.2.1-4818971-windows\aapt2。 exe链接-I\ C:\Users\lucif\AppData\Local\Android\Sdk\platforms\android-27\android.jar\ - 显现\ \AndroidProjects\myApp\app\build\intermediates\merged_manifests\debug\processDebugManifest\merged\AndroidManifest.xml\ -o\ \AndroidProjects\myApp\app\build\intermediates\processed_res\debug\processDebugResources\out\resources-debug.ap_\ -R\ \AndroidProjects\myApp\app\build\intermediates\incremental\processDebugResources\resources-list-for-resources-debug.ap_.txt\ --自动添加覆盖\ --java\ \AndroidProjects\myApp\app\build\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\ --自定义包\ hivemind.lab.com.myApp\ -0\ APK\ --输出文本符号\ \AndroidProjects\myApp\app\build\intermediates\symbols\debug\R.txt\ --no-version-vectors 守护进程:AAPT2 aapt2-3.2.1-4818971-windows 守护进程#0

【问题讨论】:

    标签: android xml android-manifest aapt aapt2


    【解决方案1】:

    解决方案 1:将您的 compileSdkVersion 设置为 28 并让 Android Studio 下载所需的文件。

    如果您已经针对此版本,您可以尝试清理您的项目并同步您的 gradle 文件。

    【讨论】:

    • 它几乎工作了知道它会产生这个错误Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory). Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:6:5-25:19 to override.
    • 这是因为您将新材料库与旧支持库一起使用。您必须将android.support 迁移到androidx。请查看本指南:github.com/material-components/material-components-android/blob/…
    • 感谢您节省了很多时间。
    • @AndréSousa 在迁移到 androidx 后,有趣的是 kotlin 片段布局不导入视图。错误:未解决的参考。由于接收器类型不匹配,以下候选均不适用:
    • @AndréSousa 如何将 android.support 迁移到 androidx ?我正在尝试更新 Google Places SDK 并在将我的 Compile SDK 版本更改为 28 后出现此错误
    【解决方案2】:

    就我而言,我制作了两个无法识别的自定义背景。

    我从这两个 XML 资源文件的顶部删除了 <?xml version="1.0" encoding="utf-8"?> 标记。

    在尝试了社区的许多解决方案后,这对我有用。 XML 文件的错误很难弄清楚。它们甚至将影响细化到 Java 文件。

    【讨论】:

    • 特别是在我的情况下,我的字符串中的字符串标签内有一个未知字符,删除它后,应用程序构建成功。
    【解决方案3】:

    我通过对 build.Gradle (Module:app) 文件稍作改动解决了这个问题。 只需添加或删除或更改库的版本,然后同步您的项目..这对我有用。

    【讨论】:

      【解决方案4】:

      我遇到了类似的问题..

      原来我在我的 app build.gradle 文件中使用了一个更新太快且与我的 Min sdk 不兼容的依赖项

      使用低版本解决了问题

      【讨论】:

        【解决方案5】:

        这里的问题与找不到引用有关。首先尝试检查值文件是否有任何问题。其次,您可以查看您的 Xml 文件以检查任何视图的任何错误属性。最后一种解决方法是清理并重建您的项目或使项目失效并重新启动。

        【讨论】:

          猜你喜欢
          • 2019-02-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-30
          相关资源
          最近更新 更多