java 在 Android 4.1 之前,方法 android.graphics.PorterDuffColorFilter --- 会错误地覆盖包
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/42060702/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Before Android 4.1, method android.graphics.PorterDuffColorFilter --- would have incorrectly overridden the package
提问by Shapon Pal
I am using navigation drawer activity android studio
and Firebase Authentication
. When i going to run this app than i get this error.
我正在使用导航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
I am also using least version SDK and build tool...
我也在使用最低版本的 SDK 和构建工具...
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
}
采纳答案by marmor
Android used to run on Dalvik VM
.
Android 曾经运行在Dalvik VM
.
Dalvik
had a bug allowing classes to override parent's package-private methods.
Dalvik
有一个错误,允许类覆盖父的包私有方法。
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.
所以当他们切换到 时ART
,他们修复了这个问题,所以它不再覆盖父级的方法,现在当检测到这种情况时,它会记录一个警告,确保你知道行为的变化。
It seems that some support-lib
classes (PorterDuffColorFilter
, VectorDrawableCompat
) have such scenario, so ART
notifies you.
好像有些support-lib
类 ( PorterDuffColorFilter
, VectorDrawableCompat
) 有这样的情况,所以ART
通知你。
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+)
我认为忽略这一点是安全的,除非这是您自己的代码,在这种情况下,我要么更改方法的名称,要么在运行Dalvik
(4.1 之前)和运行ART
(4.1+)的Android 上进行测试