如果你尝试执行项目中最普通的ajax任务, 并且由于发现愚蠢的问题net :: ERR_CACHE_MISS而无法加载任何外部资源(互联网图像, 文件等), 那么你来对了地方你想快速解决它。该错误非常普遍, 原因确实非常愚蠢。
我们无法访问互联网!因此, 我们需要从AndroidManifest.xml文件中请求正确的权限。但是, 我们不会直接在AndroidManifest.xml文件中进行更改, 而是作为一种很好的做法, 我们将使用cordova-custom-config插件将其添加到config.xml中。
添加互联网权限
尽管如果你使用白名单插件, 这应该会自动为你提供权限。尝试删除项目的所有插件, 删除android平台, 然后再次添加(包括插件), 这应该可以解决问题。请记住, 只有在使用已经添加了权限的插件(例如cordova-plugin-whitelist)时, 才应该这样做。
但是, 总是有例外, 如果是这种情况, 则需要对config.xml文件进行一些更改。但是你不能简单地在config.xml中添加权限, 因为它将不起作用。
要添加权限, 你需要安装以下插件:cordova-custom-config。此插件将允许你从config.xml中向AndroidManifest.xml文件添加任何类型的配置(你可以直接在AndroidManifest.xml文件中添加权限, 但这不是一个好习惯, 因为你将丢失所有每次构建都会发生变化)。要安装插件, 请使用:
cordova plugin add cordova-custom-config
# Or if you're using phonegap
phonegap plugin add cordova-custom-config
安装后, 仅将以下几行添加到你的config.xml文件中:
<!-- Note that the lines needs to be inside the android platform -->
<platform name="android">
<config-file target="AndroidManifest.xml" parent="/*">
<uses-permission android:name="android.permission.INTERNET" />
<!-- And if you need more things about the internet
<uses-permission android:name="android.permissions.NETWORK_ACCESS" />
<uses-permission android:name="android.permissions.ACCESS_NETWORK_STATE" />
-->
</config-file>
</platform>
现在, 再次构建你的应用程序, 并尝试执行外部请求, 一切都应该现在可以正常工作。玩得开心