java.lang.NoClassDefFoundError:无法解决以下问题:Landroid/webkit/SafeBrowsingResponse [英] java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/SafeBrowsingResponse

查看:730
本文介绍了java.lang.NoClassDefFoundError:无法解决以下问题:Landroid/webkit/SafeBrowsingResponse的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正面临这种例外情况

在Java中实现Webview时,"java.lang.NoClassDefFoundError:Landroid/webkit/SafeBrowsingResponse的解析失败".

"java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/SafeBrowsingResponse" while implementing webview in android.

我已经在网上搜索了合适的解决方案,但没有发现任何有用的信息.

I have searched for an appropriate solution over the web but didn't find anything useful.

我的XML文件是

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <include layout="@layout/toolbar_title" />


        <im.delight.android.webview.AdvancedWebView
            android:id="@+id/mWebview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>

</RelativeLayout>

我针对该XML的Java代码是

And my java code against this XML is

public class PaymentActivity extends ParentActivity implements AdvancedWebView.Listener {

//    private WebView webView;

private AdvancedWebView mWebView;
ProgressDialog dialog;
UserModel userModel;
SessionManager sessionManager;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_payment);

    ButterKnife.bind(this);
    setActionBar("Payment");
    sessionManager = new SessionManager(this);
    userModel = sessionManager.getUserInformation();

    mWebView = findViewById(R.id.mWebview);
    mWebView.setListener(this, this);
    mWebView.getSettings().setJavaScriptEnabled(true);


    String planType = getIntent().getStringExtra("planType");

    String url = "www.google.com";

    dialog = new ProgressDialog(this);
    dialog.setMessage("Loading");
    dialog.setCancelable(false);

    mWebView.loadUrl(url);


}


@Override
public void onPageStarted(String url, Bitmap favicon) {

    dialog.show();
}

@Override
public void onPageFinished(String url) {
    dialog.dismiss();
}

@Override
public void onDownloadRequested(String url, String suggestedFilename, String mimeType, long contentLength, String contentDisposition, String userAgent) {

}

@Override
public void onExternalPageRequest(String url) {

}

@Override
public void onPageError(int errorCode, String description, String failingUrl) {

}

我的compileSdkVersion为26,minSdkVersion为17,targetSdkVersion为22.我正在Android 8.0 API 26上测试此代码.

My compileSdkVersion is 26, minSdkVersion is 17 and targetSdkVersion is 22. I am testing this code on Android 8.0 API 26.

在这方面的任何帮助将不胜感激.

Any help in this regard will be highly appreciated.

推荐答案

根据文档,该类已在Android级别2​​7中添加.您正在尝试在级别26测试平台上使用它.自然地,平台无法加载它不知道的类.

According to the documentation, this class was added in Android level 27. You are trying to use it on level 26 test platform. Naturally, the platform cannot load the class ... that it doesn't know about.

这篇关于java.lang.NoClassDefFoundError:无法解决以下问题:Landroid/webkit/SafeBrowsingResponse的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆