首页 > 解决方案 > 明文通信 - Android

问题描述

我的 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 中不起作用

标签: androidhttpurlconnectioncleartext

解决方案


你有没有试过把它添加到你的清单应用程序中,

    android:usesCleartextTraffic="true"

代替

android:networkSecurityConfig="@xml/network_security_config"

推荐阅读