在Android 2.2上运行HelloCordova时,无法找到类“android.webkit.WebResourceResponse”

前端之家收集整理的这篇文章主要介绍了在Android 2.2上运行HelloCordova时,无法找到类“android.webkit.WebResourceResponse”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图遵循这个教程:
http://docs.phonegap.com/en/2.7.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android

并得到以下错误

05-08 15:35:59.845: E/dalvikvm(307): Could not find class 'android.webkit.WebResourceResponse',referenced from method org.apache.cordova.CordovaWebViewClient.getWhitelistResponse

这里一个人解释错误https://issues.apache.org/jira/browse/CB-3041

This is a known issue. Because Android 2.3 does not have android.webkit.WebResourceResponse,this code is considered dead by Android 2.3's Dalvik. This means your whitelisting doesn't work properly like it does on Android 4.x,as per CB-2099. I'm going to keep this open,but lower the priority,since we know what causes it and it's an easy "First Bug" for someone if they really want to fix this.

他告诉修复很容易,但不解释如何解决它 –
辉煌!

显然,一个修复是不能运行它与Android 2.2模拟器,因为它适用于Android 4.2.

但是如何让它在Android 2.2中工作?

我想要构建一个与API 8级以上兼容的应用程序.

解决方法

这是因为Android 2.2没有WebResource响应的更新的Webkit.

尝试从here下载cordova 2.2 jar并将其放在您/项目底部的/ libs文件夹中.如果没有,创建一个.您可能还需要向您的来源添加IceCreamCordovaWebViewClient.java(或者如果您选择下载cordova的源代码并将其添加为依赖关系,则可以将其添加到该源)

或者您可以尝试使用常规的WebViewClient / ChromeClient并自己进行工作,如this post中的MH概述,复制如下.

If you want to do something similar for Android 2.x,you might want to
try using the earlier mentioned shouldOverrideUrlLoading(WebView
view,String url)
to avoid loading the page,fetch it manually,
replace the reference to the css file with your own,and finally call
loadData(String data,String mimeType,String encoding) (or
loadDataWithBaseURL(String baseUrl,String data,
String encoding,String historyUrl))
on the WebView,passing in the
manipulated html content as a string.

编辑:

此外,您还可以尝试将WebResourceResponse和依赖项添加到src文件夹.尝试从here下载

猜你在找的Android相关文章