net::ERR_CACHE_MISS:无法在Cordova Android中加载外部URL

如果你尝试执行项目中最普通的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>

现在, 再次构建你的应用程序, 并尝试执行外部请求, 一切都应该现在可以正常工作。玩得开心

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?