ste*_*ros 10 eclipse ubuntu android cordova
我试着按照这个教程: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
Run Code Online (Sandbox Code Playgroud)
这里有一个人解释错误: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.
Run Code Online (Sandbox Code Playgroud)
他告诉修复很简单,但没有解释如何解决它--.-太棒了!
显然,一个修复不是用Android 2.2模拟器运行它,因为它适用于Android 4.2.
但是我如何让它在Android 2.2中运行?
我想构建一个与API Level 8及更高版本兼容的应用程序.
这是因为 Android 2.2 没有更新的带有 WebResource Response 的 webkit。
尝试从这里下载 cordova 2.2 jar并将其放入项目底部的 /libs 文件夹中。如果没有,则创建一个。您可能还需要将IceCreamCordovaWebViewClient.java添加到源中(或者,如果您选择下载 cordova 源代码并将其添加为依赖项,则可以将其添加到该源中)
或者您可以尝试使用常规工具WebViewClient/ChromeClient并自己完成工作,正如MH在这篇文章中概述的那样,复制如下。
如果你想对 Android 2.x 做类似的事情,你可能想尝试使用前面提到的方法
shouldOverrideUrlLoading(WebView view, String url)来避免加载页面,手动获取它,用你自己的引用替换对 css 文件的引用,最后调用loadData(String data, String mimeType, String encoding)(或loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl))在WebView,将操作的html内容作为字符串传入。
编辑:
此外,您还可以尝试将 WebResourceResponse 和依赖项添加到 src 文件夹中。尝试从这里下载它们