Java 如何在不显示在日志中的情况下检查(可能已混淆)类是否存在

Java 如何在不显示在日志中的情况下检查(可能已混淆)类是否存在,java,android,Java,Android,我试图检查运行时中是否存在类 使用Class.forName(“com.Class.Name”)不是一个选项,因为我要检查的类可能会使用proguard混淆 另一个选项是使用try catch(NoClassDefFoundError)块并尝试访问实际类,但这会导致以下日志: art:在使用art的较新操作系统版本上,拒绝在以前失败的类上重新初始化——我可以通过执行class cls=CheckedClass.class来避免重新初始化,该类被另一种方法的try catch包围 dalvikv

我试图检查运行时中是否存在类

使用
Class.forName(“com.Class.Name”)不是一个选项,因为我要检查的类可能会使用proguard混淆

另一个选项是使用
try catch(NoClassDefFoundError)
块并尝试访问实际类,但这会导致以下日志:

  • art:在使用art的较新操作系统版本上,拒绝在以前失败的类上重新初始化
    ——我可以通过执行
    class cls=CheckedClass.class
    来避免重新初始化,该类被另一种方法的
    try catch
    包围

  • dalvikvm:在使用dalvik的较旧操作系统版本上找不到类…
    ——我还没有找到避免的方法。有什么想法吗


您能将proguard配置为保留该类吗。我的代码在一个库中,我希望支持这两个选项(有和没有proguard),而不要求开发人员添加更多的proguard规则。