TheFinestArtist / FinestWebView-Android

Beautiful and customizable Android Activity that shows web pages within an app.
https://finestwebview.web.app
2.32k stars 531 forks source link

Exception: NoClassDefFoundError #136

Open duetdroid2018 opened 6 years ago

duetdroid2018 commented 6 years ago

Hi,

I met an exception when I am using your library. It trigger a NoClassDefFoundError exception in line 476 of FinestWebViewActivity.java (Full stack trace can be found below). This is an error caused by android multiple versions.

Class android/webkit/RenderProcessGoneDetail really exists in android O+ devices, but has been removed in N+ devices.

I suggest you add android version check before the invocation of the corresponding line and provide different operation for different android versions.

I think this is a very awesome android library. Thanks for your efforts.

-Cheers

12-07 10:05:04.634 4472 4472 I art : Rejecting re-init on previously-failed class java.lang.Class: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/RenderProcessGoneDetail; 12-07 10:05:04.634 4472 4472 I art : at com.android.webview.chromium.Ap com.android.webview.chromium.WebViewChromiumFactoryProvider.G(android.webkit.WebView, android.content.Context) (WebViewChromiumFactoryProvider.java:323) 12-07 10:05:04.634 4472 4472 I art : at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:42) 12-07 10:05:04.634 4472 4472 I art : at void android.webkit.WebView.(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636) 12-07 10:05:04.634 4472 4472 I art : at void android.webkit.WebView.(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572) 12-07 10:05:04.634 4472 4472 I art : at void android.webkit.WebView.(android.content.Context, android.util.AttributeSet, int) (WebView.java:555) 12-07 10:05:04.634 4472 4472 I art : at void android.webkit.WebView.(android.content.Context, android.util.AttributeSet) (WebView.java:542) 12-07 10:05:04.634 4472 4472 I art : at void android.webkit.WebView.(android.content.Context) (WebView.java:532) 12-07 10:05:04.634 4472 4472 I art : at void com.thefinestartist.finestwebview.FinestWebViewActivity.bindViews() (FinestWebViewActivity.java:476) 12-07 10:05:04.634 4472 4472 I art : at void com.thefinestartist.finestwebview.FinestWebViewActivity.init() (FinestWebViewActivity.java:939) 12-07 10:05:04.634 4472 4472 I art : at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6757) 12-07 10:05:04.634 4472 4472 I art : at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1119) 12-07 10:05:04.634 4472 4472 I art : at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2703) 12-07 10:05:04.634 4472 4472 I art : at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2811) 12-07 10:05:04.634 4472 4472 I art : at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1) 12-07 10:05:04.634 4472 4472 I art : at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1528) 12-07 10:05:04.634 4472 4472 I art : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102) 12-07 10:05:04.634 4472 4472 I art : at void android.os.Looper.loop() (Looper.java:154) 12-07 10:05:04.634 4472 4472 I art : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6316) 12-07 10:05:04.634 4472 4472 I art : at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2) 12-07 10:05:04.635 4472 4472 I art : at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:872) 12-07 10:05:04.635 4472 4472 I art : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:762) 12-07 10:05:04.635 4472 4472 I art : Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.RenderProcessGoneDetail" on path: DexPathList[[zip file "/data/app/com.android.chrome-1/base.apk"],nativeLibraryDirectories=[/data/app/com.android.chrome-1/lib/arm64, /data/app/com.android.chrome-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]] 12-07 10:05:04.635 4472 4472 I art : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56) 12-07 10:05:04.635 4472 4472 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380) 12-07 10:05:04.635 4472 4472 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312) 12-07 10:05:04.635 4472 4472 I art : at com.android.webview.chromium.Ap com.android.webview.chromium.WebViewChromiumFactoryProvider.G(android.webkit.WebView, android.content.Context) (WebViewChromiumFactoryProvider.java:323)

niraj-prajapati commented 4 years ago

I think they are no more maintaining this library, I'm also facing the same issue.