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

Android应用连接NodeJS/MongoDB服务器:明文通信权限问题求助

解决Android CLEARTEXT通信被禁止的问题

核心错误修正

你的network-security-config配置存在关键问题:将cleartextTrafficPermitted设为false,直接禁止了指定域名的明文通信,需要改为true才能允许localhost/10.0.2.2的明文请求。

正确的网络安全配置

修改res/xml/network_security_config.xml内容如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">localhost</domain>
        <domain includeSubdomains="true">10.0.2.2</domain> <!-- Android模拟器映射本地主机的专用地址 -->
    </domain-config>
</network-security-config>

关联配置到Manifest

确保在AndroidManifest.xml的<application>标签中同时配置以下两项:

android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true"

注:Android 8.1+只是默认全局禁止明文通信,但针对特定域名单独开启明文是完全合规且有效的,并非官网所说的配置停用,只是默认规则变更。

额外排查要点

  • 确认NodeJS服务器正常运行,且端口与Retrofit的BaseUrl一致(例如http://10.0.2.2:3000/)
  • 真机调试时,替换10.0.2.2为电脑的局域网IP,同时确保手机与电脑在同一Wi-Fi下
  • 检查Retrofit实例的BaseUrl是否拼写正确,不要遗漏http://前缀

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:58:15