Android `拒绝对以前失败的类消息重新初始化`在牛轧糖中更为详细和常见。

Android `拒绝对以前失败的类消息重新初始化`在牛轧糖中更为详细和常见。,android,gradle,android-library,android-7.0-nougat,Android,Gradle,Android Library,Android 7.0 Nougat,假设我创建了一个具有可选依赖项的库 在Android N中,我看到了更多的拒绝重新初始化以前失败的类错误,任何调用这些可选依赖项的错误 例如,假设您的库中有一个使用RecyclerViews的方法。但是,使用您的库的用户不包括RecyclerViews 即使您的库包含一项检查,以确保在不存在依赖项的情况下不会调用此类方法,使用库的人员也会看到以下情况: I/art:拒绝在以前失败的类上重新初始化 java.lang.Class:java.lang.NoClassDefFoundError:失败

假设我创建了一个具有可选依赖项的库

在Android N中,我看到了更多的
拒绝重新初始化以前失败的类
错误,任何调用这些可选依赖项的错误

例如,假设您的库中有一个使用RecyclerViews的方法。但是,使用您的库的用户不包括RecyclerViews

即使您的库包含一项检查,以确保在不存在依赖项的情况下不会调用此类方法,使用库的人员也会看到以下情况:

I/art:拒绝在以前失败的类上重新初始化 java.lang.Class:java.lang.NoClassDefFoundError:失败 决议: Landroid/support/v7/widget/RecyclerView$RecyclerListener

其中
com.foo.bar
是一个类,它包含通过调用可选依赖项的可选方法

在7之前的SDK上,这将只是一条单行消息。然而,在Nougat中,对于调用的每个方法,这是一个20多行的调试日志,完全且绝对地充斥着控制台

这很烦人。对此有什么办法吗