我有一个 ionic vue 应用程序,我想将其作为 Android 应用程序进行测试。
我使用以下命令来创建应用程序:
ionic cap add android
ionic build
ionic cap copy
ionic cap open android
然后我在 android studio 中的虚拟设备上启动该应用程序。我使用 Android API 级别 30。
调用 django api 时出现
ERR_CLEARTEXT_NOT_PERMITTED
错误(我在本地启动,这就是没有 https 的原因)。
我已经尝试将其添加到我的 Capacitor.config 中
server: {
cleartext: true
}
这会导致另一条错误消息:
net::ERR_CONNECTION_REFUSED
。
我已经尝试过各种其他的东西,比如这里建议的:Ionic 5/Capacitor ERR_CLEARTEXT_NOT_PERMITTED in Android,但到目前为止没有任何帮助。
当我使用 API 级别 28 之前的 Android 版本时,我会立即得到
net::ERR_CONNECTION_REFUSED
我通过在 axios 配置中添加一个条件来解决它:
const host = isPlatform('android') ? '10.0.2.2' : 'localhost'
这个解决方案对我不起作用,但解决我的问题实际上是将 --external 标志添加到命令中:
离子电容器运行 android -l --external
希望这对其他人有帮助!