作者:凌乱LW_502 | 来源:互联网 | 2023-02-12 19:20
如何解决《在Android4.1之前,方法android.graphics.PorterDuffColorFilter---会错误地覆盖包》经验,为你挑选了1个好方法。
我正在使用导航drawer activity android studio
和Firebase Authentication
.当我要运行这个应用程序比我得到这个错误.
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
我也在使用最少版本的SDK和构建工具......
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
}
marmor..
16
Android曾经运行过Dalvik VM
.
Dalvik
有一个错误允许类覆盖父的包私有方法.
所以当他们切换到时ART
,他们修复了这个,所以它不再覆盖父方法.现在当检测到这样的情况时,它会记录一个警告,确保你知道行为的变化.
似乎某些support-lib
类(PorterDuffColorFilter
,VectorDrawableCompat
)有这样的场景,所以ART
通知你.
我认为忽略这一点是安全的,除非这是你自己的代码,在这种情况下我要么改变方法的名字,要么测试Android运行Dalvik
(4.1之前)和运行ART
(4.1+)
1> marmor..:
Android曾经运行过Dalvik VM
.
Dalvik
有一个错误允许类覆盖父的包私有方法.
所以当他们切换到时ART
,他们修复了这个,所以它不再覆盖父方法.现在当检测到这样的情况时,它会记录一个警告,确保你知道行为的变化.
似乎某些support-lib
类(PorterDuffColorFilter
,VectorDrawableCompat
)有这样的场景,所以ART
通知你.
我认为忽略这一点是安全的,除非这是你自己的代码,在这种情况下我要么改变方法的名字,要么测试Android运行Dalvik
(4.1之前)和运行ART
(4.1+)