0
我正在研究在Android 6.0上运行时完美运行的应用程序。当我尝试在4.2.2上运行它时,它完全用Signal 11 SIGSEGV崩溃。Android 4.2.2 signal 11 SIGSEGV:无法匹配类WebResourceRequest和WebResourceError
就在飞机坠毁前,逻辑显示了这个错误:
dalvikvm: Unable to match class for part: Landroid/webkit/WebResourceRequest;Landroid/webkit/WebResourceError
这告诉我,我用两个类不在4.2.2可用。除了这些工具没有捕获到这一点外,我确信它不会发生,因为我使用这些类的每个地方都在使用这些类的方法之前放置了正确的@TargetApi注释。例如:
@RequiresApi(android.os.Build.VERSION_CODES.M)
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
...
}
和
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
...
}
我不知道我做错了。或者,也许这两个错误是不相关的?
但是,这两个函数是回调函数。围绕方法声明如何“手动检查构建版本”?我无法将它们包装在if(android.os.Build.VERSION.SDK_INT> = android.os.Build.VERSION_CODES.M)中。我尝试使用@RequiresApi来代替,但我得到了相同的结果。 – Emmanuel
@Emmanuel我在编辑答案和解释 –
太棒了!有效!!谢谢! – Emmanuel