Android NoSuchMethodException:callDrawGLFunction

时间:2017-03-09 05:36:48

标签: android webview android-5.1.1-lollipop

我发现这个方法在Android版本的5.1.0中调用了DrawGLFunction2。并同时添加com.android.webview.chromium.WebViewDelegateFactory类。 但我不知道如何解决这个问题。任何人都可以有想法。

完整筹码:

Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
... 25 more
Caused by: android.util.AndroidRuntimeException: java.lang.RuntimeException: Invalid reflection
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java)
at android.webkit.WebView.getFactory(WebView.java)
at android.webkit.WebView.ensureProviderCreated(WebView.java)
at android.webkit.WebView.setOverScrollMode(WebView.java)
at android.view.View.init(View.java)
at android.view.View.init(View.java)
at android.view.ViewGroup.init(ViewGroup.java)
at android.widget.AbsoluteLayout.init(AbsoluteLayout.java)
at android.webkit.WebView.init(WebView.java)
at android.webkit.WebView.init(WebView.java)
at android.webkit.WebView.init(WebView.java)
at android.webkit.WebView.init(WebView.java)
... 27 more
Caused by: java.lang.RuntimeException: Invalid reflection
at com.android.webview.chromium.WebViewDelegateFactory$Api21CompatibilityDelegate.init(WebViewDelegateFactory.java:258)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.init(WebViewChromiumFactoryProvider.java:2106)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1690)
... 39 more
Caused by: java.lang.NoSuchMethodException: callDrawGLFunction [long]
at java.lang.Class.getMethod(Class.java:671)
at com.android.webview.chromium.WebViewDelegateFactory$Api21CompatibilityDelegate.init(WebViewDelegateFactory.java:246)
... 42 more
android.view.InflateException: Binary XML file line #21: Error inflating class android.webkit.WebView
at android.view.LayoutInflater.createView(LayoutInflater.java)

1 个答案:

答案 0 :(得分:2)

这不是应用程序错误  该错误是来自sdk 22设备的所有报告。但该方法已在该版本中重命名。

我发送电子邮件给google开发人员,他将方法从callDrawGLFunction重命名为callDrawGLFunction2。我收到了一些回复:

“Api21CompatibilityDelegate表示webview认为它正在运行21.在 API21之后重命名callDrawGLFunction ,因此webview正在尝试查找旧名称。”

所以这显然是设备错误。