web-dev-qa-db-ja.com

java.lang.NoClassDefFoundError:解決に失敗しました:Landroid / webkit / SafeBrowsingResponse

私はこの例外に直面しています

AndroidでWebViewを実装しているときに、「Java.lang.NoClassDefFoundError:Failed resolution of: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>

そして、私のJavaこのXMLに対するコードは

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でテストしています。

この点でどんな助けでも大歓迎です。

6
asad1492

ドキュメント によると、このクラスはAndroidレベル27で追加されました。レベル26のテストプラットフォームで使用しようとしています。当然、プラットフォームはクラスをロードできません知らない・・・。

1
Stephen C