java.lang.NoClassDefFoundError:无法解决以下问题:Landroid / webkit / SafeBrowsingResponse

时间:2018-07-17 12:31:35

标签: java android android-layout webview

我正在遇到此异常

  

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

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

我的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代码是

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上测试此代码。

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

1 个答案:

答案 0 :(得分:2)

根据documentation,此类在Android级别2​​7中添加。您正在尝试在级别26测试平台上使用它。自然,平台无法加载它不知道的类。