4 回答
TA贡献1842条经验 获得超12个赞
如果降低 targetSDK,问题就会消失,这可能usesCleartextTraffic是 Nidhin Josehp 提到的问题。当目标为 SDK 28 或更高版本时,它只会影响 Android 8 或更新版本的设备。
您可以将AndroidManifest.xml其添加到config.xml
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true" />
</edit-config>
</platform>
您可能需要将小部件标签更改config.xml为如下所示:
<widget id="com.your.app.id" version="1.0.0"
xmlns="http://www.w3.org/ns/widgets"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:cdv="http://cordova.apache.org/ns/1.0">
(加法是xmlns:android="http://schemas.android.com/apk/res/android")
TA贡献1824条经验 获得超6个赞
尝试添加android:usesCleartextTraffic="true"到<application>或AndroidManifest.xml如下使用config.xml
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true" />
</edit-config>
</platform>
android:usesCleartextTraffic指示应用是否打算使用明文网络流量,例如明文 HTTP。针对 API 级别 27 或更低级别的应用程序的默认值为“true”。以 API 级别 28 或更高级别为目标的应用默认为“false”。更多信息
明文是任何未加密或打算加密的传输或存储信息。当应用程序使用明文网络流量(例如 HTTP)与服务器通信时,它可能会增加窃听和篡改内容的风险,这就是为什么在最新的 Android 设备中,它被默认设置为false。
TA贡献2065条经验 获得超13个赞
我要跳,我发誓。
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="26" />
将 targetSdkVersion 从 28 更改为 26。有效。但这将是一场噩梦。
TA贡献1801条经验 获得超15个赞
这是指由 Chrome 76 中引入的错误引起的与 CORS 相关的问题(基于相同版本的 WebKit 的 WebViews 受到影响也)。Chrome 76 于 2019 年 8 月开始推出。如果受影响的应用程序重新启动但随机返回,问题通常会消失。
根据工单,该问题已在这几天推出的 Chrome 76.0.3809.111 中得到修复。
在您的模拟器上,您可能使用的是旧版本的 Chrome,这可能是问题没有出现在那里的原因。如果您比较受影响和未受影响的设备,发现只有运行版本 >=76.0
和 <的 Chrome 的设备76.0.3809.111
显示症状,您可能找到了问题的原因。
如果是这种情况,您至少有以下选择:
等待 Chrome 的固定版本推出(许多受影响的手机可能已经出现这种情况)。
如果您控制着服务器,则可以将
file://
来源添加到那里的允许来源列表中,这就是我们所做的。不过,您必须仔细考虑安全隐患。
顺便说一句,在重新启动应用程序后,问题通常会消失,这使得调试变得困难。我们发现,它可以通过卸载并重新安装受影响的应用程序来重现。
添加回答
举报