Xamarin Forms Android应用突然无法联网,提示net::ERR_NAME_NOT_RESOLVED
看起来你的应用突然连不上网还报net::ERR_NAME_NOT_RESOLVED,我先从你贴的AndroidManifest片段入手,梳理几个最可能的问题:
首先检查网络权限是否缺失:你提供的Manifest里完全没看到
<uses-permission android:name="android.permission.INTERNET" />这个关键声明!Android系统要求所有需要联网的应用,必须在Manifest的根节点(和<application>标签同级)添加这个权限。没有它的话,系统会直接拦截所有网络请求,这大概率是导致问题的核心原因。Android 9+的明文网络限制:你的targetSdkVersion是33(属于Android 13),如果你的应用访问的是HTTP而非HTTPS接口,系统默认会禁止明文流量,这也可能引发域名解析相关的报错。解决办法是在
<application>标签里加上android:usesCleartextTraffic="true",或者更安全的方式是配置network_security_config.xml来允许特定域名的明文访问。排查设备网络环境:
net::ERR_NAME_NOT_RESOLVED本身是域名解析失败的提示,咱可以先排除是不是设备网络的问题。比如用手机自带浏览器打开你应用要访问的接口地址,看看能不能正常加载。如果浏览器也打不开,那可能是DNS设置错误、局域网限制或者目标服务器挂了,和应用本身无关。
给你贴个修改后的Manifest示例,把关键权限和配置补上:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.jamessuske.registrations"> <!-- 添加联网权限 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33" /> <!-- 允许明文流量(如果访问HTTP接口的话) --> <application android:label="Registrations.Android" android:theme="@style/MainTheme" android:usesCleartextTraffic="true"> <activity android:name=".SettingsActivity" android:label="Settings" android:exported="true"> <intent-filter> <action android:name="android.intent.action.APPLICATION_PREFERENCES" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <!-- 其他组件代码... --> </application> </manifest>
建议你先把网络权限加上,重新打包测试,要是还不行再排查明文流量和网络环境的问题~
备注:内容来源于stack exchange,提问作者user979331




