首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Webview显示错误“未找到类”android.webkit.RenderProcessGoneDetail

Webview显示错误“未找到类”android.webkit.RenderProcessGoneDetail
EN

Stack Overflow用户
提问于 2017-11-28 04:28:34
回答 4查看 26.5K关注 0票数 31

我的平板电脑Android版本是7.0,Chrome版本是62.0.3202.84。

第一次运行webview应用程序时,调试窗口显示

找不到"android.webkit.RenderProcessGoneDetail“类

RenderProcessGoneDetail是Android8.0API

如何防止错误消息?

代码语言:javascript
运行
复制
11-28 13:23:13.133 28584-28584/com.himart.omni.himartomniapp I/cr_BrowserStartup: Initializing chromium process, singleProcess=true
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art: Rejecting re-init on previously-failed class java.lang.Class<com.android.webview.chromium.eb>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/RenderProcessGoneDetail;
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at com.android.webview.chromium.Ap com.android.webview.chromium.WebViewChromiumFactoryProvider.G(android.webkit.WebView, android.content.Context) (WebViewChromiumFactoryProvider.java:323)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:42)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:652)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View com.android.internal.policy.PhoneLayoutInflater.onCreateView(java.lang.String, android.util.AttributeSet) (PhoneLayoutInflater.java:58)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.onCreateView(android.view.View, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:724)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:792)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:734)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:865)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:873)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:525)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:427)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:378)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void com.android.internal.policy.PhoneWindow.setContentView(int) (PhoneWindow.java:459)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.Activity.setContentView(int) (Activity.java:2548)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void com.himart.omni.himartomniapp.view.activity.WebViewActivity.onCreate(android.os.Bundle) (WebViewActivity.java:257)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6955)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1126)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2927)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3045)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.ActivityThread.-wrap14(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1642)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.os.Looper.loop() (Looper.java:154)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6776)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1496)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1386)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp 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/arm, /data/app/com.android.chrome-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at com.android.webview.chromium.Ap com.android.webview.chromium.WebViewChromiumFactoryProvider.G(android.webkit.WebView, android.content.Context) (WebViewChromiumFactoryProvider.java:323)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:42)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:652)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View com.android.internal.policy.PhoneLayoutInflater.onCreateView(java.lang.String, android.util.AttributeSet) (PhoneLayoutInflater.java:58)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.onCreateView(android.view.View, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:724)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:792)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:734)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:865)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:873)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:525)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:427)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:378)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void com.android.internal.policy.PhoneWindow.setContentView(int) (PhoneWindow.java:459)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.Activity.setContentView(int) (Activity.java:2548)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void com.himart.omni.himartomniapp.view.activity.WebViewActivity.onCreate(android.os.Bundle) (WebViewActivity.java:257)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6955)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1126)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2927)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3045)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.ActivityThread.-wrap14(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1642)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.os.Looper.loop() (Looper.java:154)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6776)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1496)
11-28 13:23:13.274 28584-28584/com.himart.omni.himartomniapp I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1386)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-12-05 10:43:10

这似乎是一个bug,更多细节在这里:https://groups.google.com/a/chromium.org/forum/#!topic/android-webview-dev/m0EtO3IXNn0

在N+上,新的ART日志似乎已经被引入,让应用程序开发人员知道他们代码中的某些二进制兼容性问题。不幸的是,这触发了WebView中一些API级别的保护代码. 一个例子是“Landroid/webkit/RenderProcessGoneDetail的解析失败”,每当N设备上使用带有O特性的最新版本的WebView时,就会触发它。这是无害的,但令开发人员困惑和垃圾邮件查看逻辑猫。

票数 31
EN

Stack Overflow用户

发布于 2018-03-30 01:17:09

7.0之后,Android出现了一个问题,但我设法找到了解决方案。对我来说,跟踪本教程是有效的。总之,片段应该如下所示:

代码语言:javascript
运行
复制
public class WebFragment1 extends Fragment{
    public WebFragment1() {
        // Required empty public constructor
    }

    WebView wvPage1;
    String url = "http://apptimist.studio";
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View v = inflater.inflate(R.layout.fragment_web_fragment1, container, false);
        wvPage1 = (WebView)v.findViewById(R.id.wvPage1);
        wvPage1.loadUrl(url);
        WebSettings settings = wvPage1.getSettings();
        settings.setJavaScriptEnabled(true);
        wvPage1.setWebViewClient(new MyWebViewClient());
        return v;
    }

    private class MyWebViewClient extends WebViewClient{
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
        }

        @SuppressWarnings("deprecation")
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            final Uri uri = Uri.parse(url);
            return true;
        }

        @TargetApi(Build.VERSION_CODES.N)
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            view.loadUrl(request.getUrl().toString());
            return true;
        }
    }

我尝试了没有这两条线,但它是行不通的,所以我把它们包括在内,它起了作用。注意添加它们

代码语言:javascript
运行
复制
WebSettings settings = wvPage1.getSettings();
settings.setJavaScriptEnabled(true);

有通知说可能存在XSS攻击的漏洞,最好是打开受信任的网站。

下面是布局:

代码语言:javascript
运行
复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.kosalgeek.webviewfragment.WebFragment1">

    <WebView
        android:id="@+id/wvPage1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></WebView>

</LinearLayout>

希望这能帮助别人,因为我花了很多时间寻找解决方案。

票数 7
EN

Stack Overflow用户

发布于 2018-06-04 04:06:48

您可以在api级别26中尝试WebSettings#setSafeBrowsingEnabled(false)。对我来说很管用

参考文献:WebSettings#setSafeBrowsingEnabled

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47524032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档