私はこの例外に直面しています
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
でテストしています。
この点でどんな助けでも大歓迎です。
ドキュメント によると、このクラスはAndroidレベル27で追加されました。レベル26のテストプラットフォームで使用しようとしています。当然、プラットフォームはクラスをロードできません知らない・・・。