Не удалось найти класс «android.webkit.WebResourceResponse» при запуске HelloCordova на Android 2.2

Я попытался следовать этому руководству: 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 и выше.

Solutions Collecting From Web of "Не удалось найти класс «android.webkit.WebResourceResponse» при запуске HelloCordova на Android 2.2"

Это связано с тем, что Android 2.2 не имеет обновленного webkit с ответом WebResource.

Попробуйте загрузить здесь кордову 2.2 jar и поместить ее в папку you / libs в базе вашего проекта. Если их нет, создайте их. Вам также может потребоваться добавить IceCreamCordovaWebViewClient.java в свои источники (или если вы решите загрузить исходный код кордовы и добавить его как зависимость, вы можете добавить его в этот источник)

Или вы можете попробовать использовать обычный WebViewClient/ChromeClient и WebViewClient/ChromeClient выполнять эту работу, как указано в этом сообщении , скопировано ниже.

Если вы хотите сделать что-то подобное для 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. Попробуйте скачать их здесь