我有这个错误
我尝试重新安装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
答案 0 :(得分:40)
有完全相同的问题。通过执行以下操作解决了这个问题: 使用platform / 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文件:
仔细检查platforms / android / build.gradle文件。
希望这有帮助。
答案 1 :(得分:34)
如果您的任何XML资源都有错误,也会出现 Android资源链接失败错误。就我而言,我在可绘制文件夹中的一个XML可绘制对象中两次使用了以下行:
<?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 中访问的所有可绘制资源,因为发现错误的机会更高。在最坏的情况下,您可能最终检查所有资源文件。
答案 2 :(得分:32)
注意:如果将支持库升级到28.0.0
,而您的compileSdkVersion
也不是28,则Android Studio会吐出类似这样的疯狂错误。
答案 3 :(得分:7)
如果您使用的是Windows 10和Android Studio 3.2,则只需转到应用程序的 build.gradle 并更改版本。
答案 4 :(得分: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),因为这就是问题
答案 5 :(得分:3)
我通过在所有ID之前添加@+id/
来解决此问题。
即@+id/your_item_id
答案 6 :(得分:2)
我遇到了同样的问题,并转到文件->项目结构...->建议,然后全部应用来解决了该问题。就像@JeffinJ所建议的那样,我认为问题是由于Gradle插件更新所致。
答案 7 :(得分:1)
尝试更新最新的构建版本,目标和编译版本,并更新依赖项但不适用于我
在我的情况下为清单工作中将<meta-items/>
更改为<meta-data/>
...
希望它对某人有帮助......
答案 8 :(得分:1)
资源文件中应该有一些错误。这意味着可能存在缺少类型的属性值。浏览资源文件并更正这些值并享受工作。
答案 9 :(得分:1)
我将新颜色导入到我的项目中,并遇到了同样的问题。因此,我打开了styles.xml
,并使用新的颜色名称将项目重新分配给了颜色。
答案 10 :(得分:1)
就我而言,我不小心写了:
app:displayViewTitle="@string/instructions_defineExtract_confirm_email"
有趣的是,Android Studio能够通过CTRL +单击来导航字符串。它只是给Build Time错误。更改为标准的“点分隔”可以达到目的
app:displayViewTitle="@string/instructions.defineExtract.confirm.email"
答案 11 :(得分:1)
我有同样的问题,但这是因为在编辑按钮时,我在按钮layout_width / height中忘记了将dp放在最后。添加了dp并解决了问题:/
答案 12 :(得分:1)
我遇到了同样的错误,当我关闭AndroidStudio并删除构建错误信息中的C:\Users\Jalal D\.gradle\caches\transforms-1\
之类的目录时,我将其修复。
答案 13 :(得分:0)
如此愚蠢-(无论出于何种原因)我在drawable文件夹中只有一个空xml。并且AS产生了数十个不相关的错误> <
所以,我的一般建议是相同的-简要检查每个资源文件。
答案 14 :(得分:0)
我在 drawable 上遇到了这样的问题。
花了将近 7 个小时。尝试了 Google 和 SO 的所有方法。什么都没用
然后休息重新打开文件只是看代码,突然我想到我命名为 spalsh 而不是 splash 的图像文件!
那 7 个小时!!!只是一个小错误和如此大的压力。
除了像这样的奇迹外,什么都没有
答案 15 :(得分:0)
检查您的 Gradle插件版本。如果在此问题出现之前已更新到较新的版本,请尝试将其降级。 转到文件-> 项目结构。更改为以前的版本。
答案 16 :(得分:0)
在我的情况下,我无意中设置了仅在按钮中存在的属性的样式,并为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
删除行可解决此问题。
答案 17 :(得分:0)
答案 18 :(得分:0)
如果遇到这种情况:就我而言,我有一个翻译后的字符串,但是该字符串尚未出现在默认的strings.xml中。将缺少的字符串添加到strings.xml中,即可解决。
答案 19 :(得分:0)
就我而言,错误指向AndroidManifest.xml文件。我有这行:
<meta-data
android:name="com.google.android.actions"
android:resource="@xml/popup_info.xml" />
我不知道为什么Android Studio会把它放在那里。我没有更改清单文件,而且直到升级到3.5.3版都没有发生-因此AS必须为我完成了它。无论如何,该行应该看起来像这样:
<meta-data
android:name="com.google.android.actions"
android:resource="@layout/popup" />
一旦我改变了,那一切都很好。
答案 20 :(得分:0)
我在我的一个 XML 文件的顶部遗漏了这一行:
<?xml version="1.0" encoding="utf-8"?>
答案 21 :(得分:0)
我遇到了同样的错误,我在其中一个受约束的地方丢失了 @+id/
app:layout_constraintEnd_toEndOf="btn_join"
我添加@+id/ 后就修复了,如下所示:
app:layout_constraintEnd_toEndOf="@+id/btn_join"
答案 22 :(得分:0)
我已解决问题,方法是将compileSdkVersion 23
中的compileSdkVersion 28
替换为build.gradle (Project: build)
。
答案 23 :(得分:0)
找到了导致此问题的原因之一
当我们尝试使用任何
字符串,样式,颜色等
出现在值(string.xml,style.xml,color.xml,etc,)
中不的清单文件中,则会发生这种类型的错误
答案 24 :(得分:0)
我从1月28日开始使用Studio 3.3.1 Build。
对我来说,我使用ConstraintLayout指向布局文件中的一行时,出现了“错误android资源链接失败”,一直有效,直到今天,我对应用程序级别gradle文件的唯一更改是更新以下版本:
android.arch.navigation:navigation-fragment
android.arch.navigation:navigation-ui
从1.0.0-rc01
到1.0.0-rc02
。
该错误消息表示无法识别layout_constraintTop_toTopOf
这当然是愚蠢的,因为它已经愉快地编译了几个月。
我已经使用了28.0.3的构建工具和28的compileSdkVersion
。一段时间以来,我一直在各处使用androidx.appcompat
(将这个项目重新转换为androidx)。
我首先经历了一个项目清理(无济于事),并使缓存/重启无效(无济于事)。有关布局最初是使用
定义的 <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的其他组件中将引用更改回该ID。 编译失败。
我再次剪切了该块并将其粘贴到写字板。然后从写字板粘贴中读取内容,我实际上将其打回(即这次没有复制/粘贴)-逐行,在键入最小定义后在项目上做一个make,然后在我再次输入时放在每个新行中。 每次项目都干净地编译!
我不知道该怎么做。也许文件中最初有一些虚假的不可见字符?
答案 25 :(得分:0)
对我来说,使用Asset Studio更改启动器图标后出现错误。事实证明,生成的doc.setFont('RopaSans-Regular');
doc.setFontType('normal');
文件在文件顶部缺少以下行:
ic_launcher_foreground.xml
答案 26 :(得分:0)
这听起来很平庸,但是对我来说Build > Clean Project
修复了此错误,而没有进行任何其他更改。
答案 27 :(得分:0)
添加以下依赖项后,我遇到了相同的问题:
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解决了该问题。
答案 28 :(得分:0)
此问题可能有多种原因,这些原因主要在资源或应用程序级别的build.gradle文件中。
对于我来说,资源文件中的视图没有包含在build.gradle文件中的必需依赖项。
因此,请确保在build.gradle文件中包括所有必需的依赖项。
答案 29 :(得分:0)
对我来说发生了同样的问题,但是在出现此错误之前,我的应用程序正在运行。所以我只撤消了2/3次。并再次进行了更改。并成功构建了app.app。
答案 30 :(得分:0)
更改,最后一个(27.1.0)启用了(28.0.0)的最后一个支持库的版本,错误Android Resource Linking Failed
消失了。
应该注意,版本27.1.0是我们实现中允许的最高版本,该版本有效,但是您可以根据需要使用较旧的版本。并且必须在以字符串com.android.support:
implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"
ext {
supportLibraryVersion= '27.1.0'
}
然后使用Gradle文件同步项目
GL
答案 31 :(得分:0)
我遇到了同样的问题,可以通过从资源文件中删除错误来解决此问题,例如样式,颜色文件在values文件夹中。 就我而言,样式颜色错误如下:
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:textColorPrimary">**@color/colorPrimary**</item>
<item name="android:textColorSecondary">**@color/colorPrimaryDark**</item>
</style>
答案 32 :(得分:0)
我遇到了类似的问题,但是我从解决方案中出来的问题是,您在依赖项中使用了与同一个域相对应的任何东西,但是使用不同的版本来确保所有这些都是相同的