visual-studio - Xamarin Android:network_security_config.xml 仅用于调试
问题描述
我有一个 Xamarin.Android 项目(作为 Xamarin.Forms 项目的一部分),我在其中使用 network-security-config.xml 允许使用 http 进出测试服务器的流量。
我想知道是否有办法将其从发布版本中排除。
我发现了两种方法,但似乎都不适用于我的情况:
如果我使用的是 Android Studio,我可以在不同的文件夹中有两个不同的文件,一个用于调试,一个用于发布。我认为这在 Visual Studio/Xamarin 中不受支持。
network_security_config.xml 中有一个指令,"",但我认为它只适用于 CA 证书。
有什么线索吗?
谢谢!
解决方案
在您的 Android 项目中,您可以创建自己的 Application 类并扩展Android.App.Application
该类。这样您也可以启用/禁用应用程序的调试。现在,当您将其应用到它时,该构建将成为您的清单Application
节点ApplicationAttribute
,如下所示:
#if DEBUG
[Application(Debuggable = true, NetworkSecurityConfig = "@xml/network_security_config")]
#else
[Application(Debuggable = false)]
#endif
public class MainApplication : Android.App.Application
{
}
network_security_config
你的配置文件在哪里。
推荐阅读
- asp.net-core - ASP.NET Core 数据保护长期令牌
- php - 如何将包含特定值的数组推到最后一个位置?
- javascript - 如何从 WordPress 中的 ajax 处理程序调用我主题的 functions.php 中的方法?
- dialogflow-es - Dialogflow 如何在没有语音确认的情况下 DeepLink 启动 Android 应用程序?
- android - 我启用了虚拟化并禁用了 Hyper-V 仍然没有安装 Intel x86 Hmax 硬件
- typescript - 对象文字的“不可分配给类型参数”错误
- node.js - 如何允许节点在 Ubuntu 18.04 上监听 1024 以下的端口?
- c# - 在 ASP.NET Core MVC 的视图中格式化日期
- angular - 使用 Angular 6 在 Highcharts 中进行一般绘图
- php - 将原始数据从 PHP 服务器 API 发送到 Swift 客户端 API