Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Before Android 4.1, method android.graphics.PorterDuffColorFilter --- would have incorrectly overridden the package

Tags:

java

android

I am using navigation drawer activity android studio and Firebase Authentication. When i going to run this app than i get this error.

  W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable

I am also using least version SDK and build tool...

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
}
like image 458
Shapon Pal Avatar asked Feb 06 '17 05:02

Shapon Pal


1 Answers

Android used to run on Dalvik VM.

Dalvik had a bug allowing classes to override parent's package-private methods.

So when they switched to ART, they fixed this, so it no longer overrides the parent's method, Now when such a scenario is detected, it logs a warning, making sure you're aware of the behavior change.

It seems that some support-lib classes (PorterDuffColorFilter, VectorDrawableCompat) have such scenario, so ART notifies you.

I think it's safe to ignore this, unless this is your own code, in which case I would either change the method's name, or test on Android running Dalvik (pre-4.1) and running ART (4.1+)

like image 111
marmor Avatar answered Nov 04 '22 01:11

marmor