首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android模拟器:未指定网络安全Config,使用平台默认设置

Android模拟器:未指定网络安全Config,使用平台默认设置
EN

Stack Overflow用户
提问于 2019-12-04 05:30:53
回答 1查看 6.4K关注 0票数 1

我希望你做得很好。我在做Xamarin表格。我收到这个错误“network_security_config.xml指定,使用平台默认值”,虽然我在我的Android模拟器中发送HttpClient请求,尽管在App.Android/Resource/xml下有network_security_config.xml,但是它在android设备上工作得很好。下面是network_security_config.xml文件包含的代码:

代码语言:javascript
运行
复制
<network-security-config>
  <base-config cleartextTrafficPermitted="true"/>
    <trust-anchors>
      <certificates src="system"/>
      <certificates src="user"/>
    </trust-anchors>
</network-security-config>

在我的报表文件中,我有以下代码.

代码语言:javascript
运行
复制
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:targetSandboxVersion="1" android:versionCode="1" android:versionName="1.0" package="com.companyname.app71" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" />
    <application android:label="Meha" android:icon="@drawable/logo_pink"></application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <application android:networkSecurityConfig="@xml/network_security_config" />
    <application android:hardwareAccelerated="true" />
    <application android:largeHeap="true" />
</manifest>

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-04 06:48:38

尝试将您的network_security_config.xml更改如下:

代码语言:javascript
运行
复制
<network-security-config>
  <base-config cleartextTrafficPermitted="false">
    <trust-anchors>
      <certificates src="system" />
    </trust-anchors>
  </base-config>
</network-security-config>

manifest就像:

代码语言:javascript
运行
复制
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:targetSandboxVersion="1" android:versionCode="1" android:versionName="1.0" package="com.companyname.app71" android:installLocation="auto">
  <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
  <application android:label="Meha" android:icon="@drawable/logo_pink" android:networkSecurityConfig="@xml/network_security_config" android:hardwareAccelerated="true" android:largeHeap="true"></application>
</manifest>

正如网络安全配置所说,

针对Android 9 (API 28)和更高的应用程序的默认配置如下:

代码语言:javascript
运行
复制
<base-config cleartextTrafficPermitted="false">
  <trust-anchors>
    <certificates src="system" />
  </trust-anchors>
</base-config>

针对Android7.0 (API 24)到Android8.1 (API 27)的应用程序的默认配置如下:

代码语言:javascript
运行
复制
<base-config cleartextTrafficPermitted="true">
   <trust-anchors>
      <certificates src="system" />
   </trust-anchors>
</base-config>

针对Android6.0(APILevel23)和较低的应用程序的默认配置如下:

代码语言:javascript
运行
复制
<base-config cleartextTrafficPermitted="true">
  <trust-anchors>
     <certificates src="system" />
     <certificates src="user" />
  </trust-anchors>
</base-config>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59169478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档