Android上偶尔出现java.lang.NoClassDefFoundError
我使用一个崩溃报告工具,在抛出异常时堆栈跟踪。偶尔我会看到一个Android上偶尔出现java.lang.NoClassDefFoundError,android,noclassdeffounderror,Android,Noclassdeffounderror,我使用一个崩溃报告工具,在抛出异常时堆栈跟踪。偶尔我会看到一个java.lang.NoClassDefFoundError,我通常从不注意它们,因为每10000个或更多会话只会发生一次崩溃。奇怪的是: 它通常与不同的类(即,对于类MyAwesomeClass和MyOtherAwesomeClass),它很少在同一类中发生两次 崩溃通常只在同一用户身上发生一次(即,对于同一类,没有任何用户具有多个NoClassDefFoundError) 我一直无法重现这个错误 现在我的问题是:这是否是一个“特定
java.lang.NoClassDefFoundError
,我通常从不注意它们,因为每10000个或更多会话只会发生一次崩溃。奇怪的是:
MyAwesomeClass
和MyOtherAwesomeClass
),它很少在同一类中发生两次NoClassDefFoundError
)有没有人有过类似的问题?关于为什么会发生这种情况,有什么理论吗?在我的项目中,我也遇到了
NoClassDefFoundError
。当我在较低版本的android(如2.2)上运行我的应用程序时抛出此错误,我的应用程序使用的API
在较低版本的android上不可用,例如,如果我试图在较低版本的android上使用Fragments
运行我的代码,或者我的类声明一些事件侦听器或与NFC相关的代码,等等在我运行应用程序的android版本上不可用
因此,为了避免此错误,您可以在使用低版本android中不可用的API的地方使用android版本检查代码。您确定这确实是一个适当的错误报告,因为您正在使用一些崩溃报告工具吗?意思是你确定工具本身没有问题。实际上,用户已经提到这已经崩溃了,或者Play Store已经指出了这一点?因为用户太少,而且问题并不是一直存在的,所以我没有收到任何来自用户的报告。我不认为事故报告工具是罪魁祸首,因为它是一个使用非常广泛的选项(Crashlytics)。