微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在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下载

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐