如何为小于 24 的 API 添加 Android 网络安全配置
Posted
技术标签:
【中文标题】如何为小于 24 的 API 添加 Android 网络安全配置【英文标题】:How to add Android Network Security Config for API less than 24 【发布时间】:2018-10-07 17:27:46 【问题描述】:Facebook Audience Network 表示。
在 Audience Network android SDK 中,我们使用 127.0.0.1 (localhost) 作为缓存代理来缓存 SDK 中的媒体文件。由于Android P,明文流量(未加密的HTTP)默认会被拦截,这会影响SDK的媒体缓存功能,并可能影响用户体验和广告收入。
现在,如果我尝试在我的 AndroidManifest
中添加这一行 android:networkSecurityConfig="@xml/network_security_config"
,我会收到警告说属性 networkSecurityConfig 用于 API 24 及更高版本,因为我的应用支持 minSdkVersion 15 。
我应该如何添加 android:networkSecurityConfig
以便它不会影响小于 24 的 API
【问题讨论】:
【参考方案1】:默认情况下它是这样工作的。较旧的设备将无法识别 android:networkSecurityConfig
,因为它在 API 级别 24 (Android 7.0) 之前不存在。
【讨论】:
那么在 Manifest 中遇到android:networkSecurityConfig
时,应用程序不会在旧设备中崩溃吗?
@Zeeshan 不,它会被忽略
@Zeeshan:总的来说,Android 会忽略它无法识别的 XML 属性,因为它们可能与运行应用程序的版本之外的某些未来版本的 Android 相关。跨度>
@ZayidMohammed:API 级别 15-23 将忽略 android:networkSecurityConfig
,因为这些版本的 Android 发布时不存在。如果您有android:networkSecurityConfig
,API Level 24+ 将尊重您在其中输入的内容,请记住已经发生了一些变化(例如,WebView
一开始没有注意android:networkSecurityConfig
)。
@ZayidMohammed:嗯,该消息在 Android 7.0 之前不存在,除非它是由某些设备制造商添加的。您正在测试的具体设备型号是什么?以上是关于如何为小于 24 的 API 添加 Android 网络安全配置的主要内容,如果未能解决你的问题,请参考以下文章
如何为 android api 8 (Froyo) 添加 PBKDF2WithHmacSHA1
如何为 android 制作更长的 facebook Graph API 会话