java - 网络安全策略不允许与 XXX.XXX.XXX.XXX 进行 CLEARTEXT 通信
问题描述
这是清单文件
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<application
android:usesCleartextTraffic="true"
android:name=".Dao.MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".FoundActivity"></activity>
<activity android:name=".LPcapActivity" />
<activity android:name=".RentActivity" />
<activity android:name=".MPxtActivity" />
<activity android:name=".LPanActivity" />
<activity android:name=".LDtileActivity" />
<activity android:name=".TabActivity" />
<activity
android:name=".MainActivity"
android:noHistory="false">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.stk.android.compapp.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
我在 XML 文件夹下创建了 XML 文件(network_security_config.xml)
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">http://121.345.678.90:7744/KBB/Kbblist</domain>
<domain includeSubdomains="true"> http://111.234.177.123:1100</domain>
</domain-config>
</network-security-config>
我也尝试了此链接中可用的选项
android-8-cleartext-http-traffic-not-permitted
不过,我会收到此错误,即网络安全策略不允许 CLEARTEXT 通信
解决方案
只需将其添加到清单中的应用程序标记中即可:
android:usesCleartextTraffic="true"
这里
<application
android:usesCleartextTraffic="true"
android:name=".Dao.MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:usesCleartextTraffic="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
我希望它有帮助!
推荐阅读
- java - 如何避免 DuplicateProjectException 异常
- mongodb - 使用 $lookup 和“sub”聚合管道的查询性能非常慢
- laravel - 获取两个集合中存在的所有对象
- wordpress - Woocommerce 按 ID 列出的产品列表仅返回一个产品,而不是多个选择
- github - 链接到您的 GitHub 新闻提要?
- javascript - 失去焦点后保持插入符号显示在div中
- java - 在休眠中使用 bean 验证
- erlang - 如何将输入作为元组并将其存储在 Erlang 的变量中?
- firebase - Kotlin Firebase:无法将 java.lang.String 类型的对象转换为 com.example.Model.perizinan 类型
- wcf - 将连接的 Web 服务 WCF 引用添加到 .Net Core API 时出错