'Android Resource Linking Failed - Android Studio
I build my project and there is no error but when i try to run it on my device it throws this error.
C:\Users\FAISAL NAZIR\.gradle\caches\transforms-2\files-2.1\eaf17b24d60dc773c7680b20ac141638\material-1.1.0\res\layout\mtrl_calendar_month_navigation.xml:32: AAPT: error: 'textEnd' is incompatible with attribute iconGravity (attr) flags [start=1, textStart=2] [weak].
This is the xml file in which it is showing error, the worst thing is, this file is auto-generated so i cannot edit or manipulate it.
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/month_navigation_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/mtrl_calendar_navigation_top_padding"
android:paddingBottom="@dimen/mtrl_calendar_navigation_bottom_padding"
android:orientation="horizontal">
<FrameLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<com.google.android.material.button.MaterialButton
android:id="@+id/month_navigation_fragment_toggle"
android:layout_width="wrap_content"
android:layout_height="@dimen/mtrl_calendar_navigation_height"
android:layout_gravity="start"
android:gravity="center_vertical|start"
android:insetBottom="0dp"
android:insetTop="0dp"
app:icon="@drawable/ic_menu_arrow_down_black_24dp"
app:iconGravity="textEnd"
app:iconPadding="4dp"/>
</FrameLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/month_navigation_previous"
android:layout_width="@dimen/mtrl_min_touch_target_size"
android:layout_height="@dimen/mtrl_calendar_navigation_height"
android:contentDescription="@string/mtrl_picker_a11y_prev_month"
android:gravity="center"
android:insetBottom="0dp"
android:insetTop="0dp"
app:icon="@drawable/ic_keyboard_arrow_left_black_24dp"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/month_navigation_next"
android:layout_width="@dimen/mtrl_min_touch_target_size"
android:layout_height="@dimen/mtrl_calendar_navigation_height"
android:contentDescription="@string/mtrl_picker_a11y_next_month"
android:gravity="center"
android:insetBottom="0dp"
android:insetTop="0dp"
app:icon="@drawable/ic_keyboard_arrow_right_black_24dp"/>
</LinearLayout>
i have tried rebuilding project several times, i restarted android studio and i also invalidated caches and restarted, nothing has happened.
Solution 1:[1]
Tried to upgrade to 1.2.1-rc1 the error is still there. It works after downgrading the nuget to 1.0.0.1
Solution 2:[2]
error: 'textEnd' is incompatible with attribute iconGravity
Use com.google.android.material:material:1.1.0 for Material Components
because it was given support from 1.1.0-alpha06, if you are using below 1.1.0-alpha06, it will not work. see releases
Solution 3:[3]
It looks like it a confliction between packages. In my case, I had to downgrade the following packages to the following versions:
Xamarin.AndroidX.Core:1.6.0.3(currently latest is 1.6.0.4)Xamarin.AndroidX.Activity:1.3.1.2(currently latest is 1.3.1.3)
Clean your project and remove bin/obj folders to get fresh build, and try to build. If it fails, just try building again (without cleaning). The above is currently solution in my case after hours of headache. I wish it helps a lot of developer facing similar issue.
If you still have issues, do the following:
In case you have Xamarin.Android.Support.V4 installed, uninstall it and use the latest versions of following packages instead:
Xamarin.Android.Support.CompatXamarin.Android.Support.Core.UIXamarin.Android.Support.Core.UtilsXamarin.Android.Support.CustomTabsXamarin.Android.Support.DesignXamarin.Android.Support.FragmentXamarin.AndroidX.Legacy.Support.Core.UI
Use AndroidX instead of Support library in your code.
The above is what I use in my project which might help you solve confliction issues for many of us.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Thomas Andersen |
| Solution 2 | |
| Solution 3 |
