java.lang.NoClassDefFoundError:无法解决以下问题:Landroid/webkit/SafeBrowsingResponse [英] java.lang.NoClassDefFoundError: Failed resolution of: 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级别27中添加.您正在尝试在级别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屋!