【问题标题】:Ionic capacitor live reload not working on android离子电容器实时重载不适用于android
【发布时间】:2020-09-25 17:10:20
【问题描述】:
我正在使用以下命令在 android 上执行实时重新加载
ionic capacitor run android --livereload --external
但它不起作用。
这是我得到的错误
The web page at http://localhost:8100/ could not be loaded because
net : ERR_CONNECTION_REFUSED
我知道移动设备不理解 localhost 但我认为--external 标志会处理它。
现在我必须做些什么才能在 android 上进行实时重新加载。
提前谢谢你
【问题讨论】:
标签:
android
ionic-framework
ionic4
capacitor
【解决方案1】:
-
打开android/app/src/main/AndroidManifest.xml。
-
将此添加到标签中的AndroidManifest.xml(标签应用程序已存在):
<application android:usesCleartextTraffic="true"> 可能仅适用于 API 级别 > 28。
- 使用您的 PC 主机运行实时重新加载。
ionic capacitor run android -l --address=127.0.0.1
代替127.0.0.1,你输入你的PC的IP地址。
- 像往常一样使用连接的设备运行 Android Studio 之后。
【解决方案2】:
我有一个类似的问题,但是,它有一些不同的问题。
实时重新加载适用于使用 android:usesCleartextTraffic="true" Android 5 的平板电脑,但不适用于运行 Android 10 的新三星。显然 cleartext=true 并非在所有情况下都有效。我知道这不是 Android Studio 或我的笔记本电脑设置,因为它适用于一台设备。
在三星 (Android 10) 上,我可以运行应用程序本身,无需实时重新加载 localhost,但是当尝试进入调试模式时它会失败。我也可以使用 http://localhost:4200 在三星的浏览器中运行该应用程序
我已经浏览了很多线程,我想我会在这里添加它,以防我找到解决方案或其他人对此问题有替代答案的想法。
【解决方案3】:
在我的情况下,我把它放在了电容器.config.json
{
"appId": "io.ionic.starter",
"appName": "medClinicApp",
"webDir": "www",
"bundledWebRuntime": false,
"cordova": {},
"server": {
"url": "http://192.168.1.6:8100",
"cleartext": true
}
}
然后运行这个命令
ionic cap run android -l --external
最重要的是我禁用了我的防火墙。