You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Android模拟器Realm用户认证时网络请求失败

Android模拟器中Realm认证网络请求失败的解决方案

以下是针对你遇到的「React Native Realm认证在Android模拟器失败、物理设备正常」问题的排查和解决方法:

  • 检查模拟器代理设置
    模拟器默认可能继承系统代理,若代理配置错误会阻断Realm请求。进入模拟器「设置→网络和互联网→代理」,设置为「无」;若使用Android Studio模拟器,可在启动时添加-no-proxy参数绕过代理。

  • 禁用模拟器IPv6支持
    部分环境下模拟器IPv6兼容性差,导致Realm请求失败。通过adb执行以下命令强制使用IPv4:

    adb shell settings put global ipv6_enabled 0
    

    执行后重启模拟器再测试。

  • 升级Realm SDK版本
    旧版Realm React Native SDK可能存在模拟器网络请求bug,升级到最新稳定版:

    npm install realm@latest
    cd android && ./gradlew clean && cd ..
    npx react-native run-android
    
  • 配置网络安全策略(调试用)
    若模拟器存在SSL证书信任问题,可临时允许明文请求(仅限测试,正式环境禁用):

    1. 在android/app/src/main/res/xml创建network_security_config.xml:
      <?xml version="1.0" encoding="utf-8"?>
      <network-security-config>
          <base-config cleartextTrafficPermitted="true">
              <trust-anchors>
                  <certificates src="system" />
                  <certificates src="user" />
              </trust-anchors>
          </base-config>
      </network-security-config>
      
    2. 在AndroidManifest.xml的<application>标签添加:
      android:networkSecurityConfig="@xml/network_security_config"
      
  • 排查DNS解析问题
    若模拟器无法解析realm.mongodb.com,可通过ping命令获取域名IPv4地址,临时修改Realm初始化配置:

    const app = new Realm.App({
      id: "application-0-xxxxxx",
      baseUrl: "https://[获取到的IPv4地址]/api/client/v2.0"
    });
    

    测试成功后,可在模拟器设置中手动指定DNS服务器(如8.8.8.8)。

内容的提问来源于stack exchange,提问作者Ozymandias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 13:23:24