相关疑难解决方法(0)

在Android上反应本地Fetch Network请求失败

我正在尝试从嘲笑中收到一些简单的json。

反应本机提取功能:

getMemberDomainList = async (name) => {
  try {
    let response = await fetch('https://5c9cc9ed3be4e30014a7d287.mockapi.io/api/domain', {
      method: 'POST',
      headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json',
      },
    });
    let responseJson = await response.json();
    return responseJson;
  } catch (error) {
    console.error(error);
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经在Windows上的Chrome中测试了该地址,它返回了预期的模拟数据。但是在我的android手机上调用该函数时,出现此错误 在此处输入图片说明

来自远程调试器的错误

...\node_modules\react-native\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:2348 TypeError: Network request failed
    at XMLHttpRequest.xhr.onerror (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:4337)
    at XMLHttpRequest.dispatchEvent (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10760)
    at XMLHttpRequest.setReadyState (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10511)
    at XMLHttpRequest.__didCompleteResponse (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10343)
    at ...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10449
    at RCTDeviceEventEmitter.emit (...\Libraries\Components\DrawerAndroid\DrawerLayoutAndroid.android.js:11)
    at MessageQueue.__callFunction (...\Libraries\ART\ReactNativeART.js:362)
    at blob:http://localhost:8081/79251787-d190-4650-8040-23d091c08738:2334
    at MessageQueue.__guard (...\Libraries\ART\ReactNativeART.js:312)
    at MessageQueue.callFunctionReturnFlushedQueue (...\Libraries\ART\ReactNativeART.js:139)
Run Code Online (Sandbox Code Playgroud)

我还在我的应用程序中运行一个WebView,该WebView指向一个Web URL,它可以完美加载,因此我确定手机具有Internet许可和访问权限等。

android fetch react-native

5
推荐指数
1
解决办法
6822
查看次数

当我添加 networkSecurityConfig 标签时,React-native android 不会构建

正如我在这篇文章中发现的那样。
我想更新我的网络安全配置以允许来自我的 Android 模拟器的个人存储的根证书。但是当我这样做时,我无法再构建我的应用程序。错误信息:

无法加载脚本。确保您正在运行 Metro 服务器(运行“react-native-start”)或者您的捆绑包“index.android.bundle”已正确打包以供发布。

当我删除android:networkSecurityConfig="@xml/network_security_config"它时一切都再次正常运行..

有人知道该怎么办吗?或者有其他方法来更改安全配置?

android react-native

5
推荐指数
1
解决办法
3495
查看次数

Ionic Native HTTP不适用于Anroid 9(Pie)及更高版本?

我创建了一个应用程序,该应用程序使用Ionic Native HTTP成功连接到我们的服务器,并使用Samsung Galaxy J7 Prime OS版本的棉花糖和尚不在Android Pie下的其他几个软件对其进行了测试。出于某种原因,当我在Android Pie下的设备上对其进行测试时,它将无法再使用,并且我收到了CORS政策问题。有人遇到过类似的问题吗?有没有解决方法?不幸的是,不能在服务器配置中进行修改。我还阅读了一些有关代理的解决方案,但不确定如何实现它们。

版本:cordova-plugin-advanced-http:2.1.1 ionic-native / http:5.8.0

mobile android cordova ionic-framework ionic4

3
推荐指数
1
解决办法
1881
查看次数

发布适用于 Android 9 (Android API 28) 的 Cordova 应用程序出现互联网连接错误

我使用 HTML5 和 Javascript 开发了cordova 跨平台应用程序。但是最近我在android上遇到了一些问题。

以前我使用 Cordova 7,其中 android 版本为 6.3,支持 android API 16 到 26。但根据新的谷歌规则,从 2019 年 8 月开始,所有应用程序都必须针对 Android API 28,即 Android 8 和 Android 9。

Cordova 的最新版本是支持 Android 8 的 Cordova 9。Cordova 没有发布任何支持 Android 9 的版本。

因此,要开发面向 API 28 的应用程序,我必须使用 Android 8。但是我在应用程序方面遇到了一些问题。以前我的应用程序运行良好。当我使用 Cordova 9 使用 Android 8 开发应用程序时,它在所有 Android 8 及以下版本的手机上都能正常工作,但在 Android 9 中显示错误。特别是 AJAX 请求。

我正在使用 http(不是 https)向服务器发送 AJAX 请求。在一些博客中,我看到它可能会导致错误。但是我看不到任何修复方法,目前我无法选择使用 https。

另一种方法是设置<preference name="android-targetSdkVersion" value="26" />哪个在所有 android 版本(6~9)中都可以正常工作,但是当我在 Google Play 商店中使用此配置上传时,它会显示警告以将目标 API 更新为 28。 …

android cordova

3
推荐指数
1
解决办法
3029
查看次数

离子网络安全配置

您好,我正在研究离子应用程序。执行此命令ionic cordova build android --prod --release。它确实生成了未签名的 apk 文件,但它也在 network_security_config 文件中显示错误。

错误 app\src\main\res\xml\network_security_config.xml:4: Error: Missing includeSubdomains attribute [NetworkSecurityConfig] <domain>localhost</domain>

我尝试了多种解决方案,但对我不起作用。

参考

如何在 Android (9) Pie 中允许所有网络连接类型 HTTP 和 HTTPS?

Cordova 如何支持 Android 7.0 引入的网络安全配置?

有人可以帮我解决这个问题吗?

ionic-framework ionic3 angular ionic4

2
推荐指数
1
解决办法
2994
查看次数

无法加载资源:net::ERR_CLEARTEXT_NOT_PERMITTED

我已经浏览了这个问题链接,我进行了后续更改,但仍然无法解决问题。仍然给我同样的错误。有人可以帮我吗。提前致谢 这是我来自 config.xml 的一段代码

 <widget id="com.farm.fork" version="0.0.1" 
    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">


<platform name="android">
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" >
            <application android:usesCleartextTraffic="true" />
            <application android:networkSecurityConfig="@xml/network_security_config" />
        </edit-config>
        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
Run Code Online (Sandbox Code Playgroud)

network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">localhost</domain>
    </domain-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.farm.fork" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:networkSecurityConfig="@xml/network_security_config" android:supportsRtl="true" android:usesCleartextTraffic="true">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" …
Run Code Online (Sandbox Code Playgroud)

android http cordova ionic4

2
推荐指数
2
解决办法
8684
查看次数