cleartextTrafficPermitted false仍然允许使用xamain连接Android 9模拟器

问题描述 投票:0回答:1

正在尝试测试清单中引用的Android网络安全配置config XML文件中的其他配置。使用针对Android 9 API 28的基本新应用模板Xamarin.Android应用和VS VS 2019上的Galaxy Nexus Android 9仿真器,设置以下一项:

  1. 应用程序级别清单设置android:usesCleartextTraffic = false

  2. 添加网络安全性配置文件,将基本配置或域配置设置为cleartextTrafficPermitted = false并从清单中引用该文件

  3. [无论哪种情况,尝试使用HttpClient GetAsync和Uri为http://www.mit.edu/privacy/的测试连接都可以正常工作,没有错误。在运行时对NetworkSecurityPolicy.IsCleartextTrafficPermitted的调用按预期返回false。而且,如果我更改设置以确保通过清单允许明文,那么调用肯定会返回true,因此运行时会以正确的“模式”显示其,当明文为false时,调用只会被阻塞,正如我期望的那样。明文设置是否未在模拟器上强制执行? Xamarin的HttpClient堆栈中没有强制执行吗?基本上是尝试阻止HTTP连接的明文,但无法

正在尝试测试清单中引用的Android网络安全配置config XML文件中的其他配置。使用基本的新应用模板Xamarin.Android应用定位到Android ...

android security xamarin.android
1个回答
0
投票

想通了。将Xamarin.Android Visual Studio Project选项设置为Settings> Build> Android Build> General> HttpClient Implementation选项设置为Default,这意味着HttpClient Handler是.NET的完全托管解决方案。切换到本地AndroidClientHandler可使明文设置按预期方式工作

© www.soinside.com 2019 - 2024. All rights reserved.