代码之家  ›  专栏  ›  技术社区  ›  narancs

Cordova网站未完全加载

  •  1
  • narancs  · 技术社区  · 6 年前

    我有我的Android原生项目,它是cordova SystemWebView init。 仅在真实设备上发生,不在Emulator上发生: 在Android 6.0上运行良好,但在Android 7.0以上的设备上,网站无法加载,我收到以下错误消息:

     Rejecting re-init on previously-failed class
    
     java.lang.Class<com.android.webview.chromium.db>: 
     java.lang.NoClassDefFoundError: Failed resolution of: 
     Landroid/webkit/RenderProcessGoneDetail;
    
     03-16 18:45:03.913 
     com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) 
     (WebViewChromium.java:42)
    
    Rejecting re-init on previously-failed class java.lang.Class<com.android.webview.chromium.db>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/RenderProcessGoneDetail;
    at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:42)
    at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
    at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
    at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
    at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
    at void org.apache.cordova.engine.SystemWebView.<init>(android.content.Context, android.util.AttributeSet) (SystemWebView.java:47)
    
     Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.SafeBrowsingResponse" 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]]
    at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
    at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
    at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
    at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:42)
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   narancs    6 年前

    这个问题与科尔多瓦没有任何关系 Android 7.0+开始用%20(编码)替换URL中的空格字符,这导致JS端失效。