【问题标题】:Http clear text is not supported Android 9Android 9 不支持 Http 明文
【发布时间】:2019-06-12 22:14:39
【问题描述】:

好的,所以我的清单文件中有以下内容,但我仍然得到 IP 地址 192.168 上不允许使用明文,这是一个本地 IP 地址范围,请帮助我发疯。我正在使用 Xamrain 表单。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <base-config cleartextTrafficPermitted="true" >
  </base-config>
</network-security-config>

我已将其设置为以下位置的嵌入资源文件

我的 Manafest 文件如下

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.companyname.FuelStockApp" android:installLocation="auto" android:versionCode="2" android:versionName="1.0">
    <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="28" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SMS" />
    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
    <application android:label="FuelStockApp.Android"></application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
   <application android:usesCleartextTraffic="true"
    android:networkSecurityConfig="@xml/network_security_config">

 </application>
 </manifest>

我这里也有它作为健全性检查

【问题讨论】:

  • 你在真机上测试过吗?我只在我的应用程序清单中设置了android:usesCleartextTraffic,它工作正常。您可以尝试使用android:networkSecurityConfig 指定一个允许明文的特殊域,因为我没有测试本地域。有关更多选项,请参阅此线程:stackoverflow.com/questions/45940861/…
  • 是的,我有一个谷歌像素 3a,我在局域网上,所以没有域 @LandLu-MSFT
  • 我注意到 192.168 IP 地址。这是您的本地域。
  • @LandLu-MSFT 是的,这是正确的,那么我需要以何种方式进行上述配置才能使这项工作目前仍被拒绝。
  • 尝试此选项时仍然失败:&lt;domain-config cleartextTrafficPermitted="true"&gt; &lt;domain includeSubdomains="true"&gt;Your URL(ex: 127.0.0.1)&lt;/domain&gt; &lt;/domain-config&gt;?

标签: xamarin xamarin.forms xamarin.android


【解决方案1】:

在您的 network_config_xml 添加您要排除的 ip。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">10.0.2.2</domain> 
    <domain includeSubdomains="true"> 192.168.0.0</domain> <!-- Your IP's  -->
  </domain-config>
</network-security-config>

在您的清单中:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.companyname.FuelStockApp" android:installLocation="auto" android:versionCode="2" android:versionName="1.0">
    <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="28" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SMS" />
    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />

 <application android:label="FuelStockApp.Android" android:networkSecurityConfig="@xml/network_security_config" ></application>


 </application>

【讨论】:

  • 当你说调试端口时,我拥有的 iis 上的端口是 8080,你所说的调试端口是什么意思,如果是在同一个 IP 地址上,你是指远程调试吗
  • 那是不必要的。输入IP,忽略端口。
猜你喜欢
  • 1970-01-01
  • 2020-05-16
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多