我的 android 项目面临这个 Cleartext 问题。
我几乎用过所有的 stackoverflow 答案、各种博客等,但 android 不允许我连接到服务器。这是一个非常小的应用程序,将被 20+ ppl 用于每天在本地网络上上传一些数据。所以 HTTPS 对我来说是一个禁区。
清单版本-1
<application
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning"
android:theme="@style/AppTheme">
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
清单版本 2
<application
android:allowBackup="true"
android:usesCleartextTraffic="true" <!-- With and Without -->
android:networkSecurityConfig="@xml/network_security_config"
tools:ignore="GoogleAppIndexingWarning"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Network_Security_Config
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">10.0.2.2</domain> <!-- Debug port -->
<domain includeSubdomains="true">192.168.0.104</domain>
</domain-config>
</network-security-config>
我还尝试创建一个 minSdk 21 和 target sdk 24 项目,使用 HTTPUrlConnection
Please Guide 时遇到了同样的问题。谢谢。
我检查过的一些链接
没有为客户端启用改造 CLEARTEXT 通信
如何在 Android (9) Pie 中允许所有网络连接类型 HTTP 和 HTTPS?
https://developer.android.com/about/versions/pie/android-9.0-changes-all
Internet 权限在 oreo 和 pie 中不起作用