duplicate value for resource 'attr/drawableTintMode'
Facing this error while building the project.
AAPT: error: duplicate value for resource 'attr/drawableTintMode' with config ''.
I Have gone through the solutions of this error which i believe is changing the attr name in attrs.xml
, but on changing attr name, some of my modules are causing problems.
So is there any other solution.
Please Note - This issue is coming only after i updated facebook Login api from
'com.facebook.android:facebook-login:5.1.0' -> `'com.facebook.android:facebook-login:11.0.0'`
In the build log under "Task :app:mergeDebugResources" there might be something like the line ...jetified-facebook-login-11.0.0\res\values\values.xml:12:4: Duplicate value for resource 'attr/drawableTintMode' with config 'DEFAULT' and product ''. Resource was previously defined here: ....\jetified-libraryB-0.0.0.4\res\values\values.xml:6:4: .
It seems that Android cannot handle any library's having the same name for any attributes
See example of here https://stackoverflow.com/a/54693933/2373819
And if you look at https://issuetracker.google.com/issues/36936359#comment18
Basically what I had understood from this thread - if you are developing a lib you must take care about your users by prefixing your resources(sound good as for me)
If you look at some libraries like:-
https://github.com/gcacace/android-signaturepad/commit/e09688542f11777baa550018cff9c3de2d659252
They have had to rename attributes to get around this problem.
Some like:-
https://github.com/JakeWharton/ViewPagerIndicator/blob/master/library/res/values/vpi__attrs.xml
Add a prefix that is linked to the library name to prevent attribute clashes.
So probably the facebook library added drawableTintMode
attribute that is already used by another library you are using.
Probably the only fix is to get one of the clashing libraries to rename the attribute drawableTintMode
to something more unique by raising a bug against them.