【问题标题】:How to use android:usesCleartextTraffic below Marshmallow (API-23)如何使用 android:usesCleartextTraffic 下面 Marshmallow (API-23)
【发布时间】:2018-02-01 04:16:53
【问题描述】:

我正在尝试从明文流量​​中保护WebView。如文档中所述。我必须将android:usesCleartextTraffic 设置为false 才能实现这一点。但这适用于 API 级别 23 及更高级别。我的最低 sdk 是 22。如何确保应用程序不会在 API 级别 23 以下运行的设备上崩溃或产生任何问题?或者如何以编程方式在Manifest.xmlapplication 标记中设置该属性值?

【问题讨论】:

  • 那么这会在运行低于 API 23 的设备上崩溃或产生任何问题吗? @NileshRathod
  • 可能是也可能不是,因为我不确定这一点,因为 Android 文档中没有关于它的更多详细信息

标签: android android-webview android-manifest


【解决方案1】:

正如an article@Android Developers Blogspot 中所建议的那样:

您不必将应用的 minSdkVersiontargetSdkVersion 设置为 23 (Android Marshmallow) 即可使用 android:usesCleartextTraffic在旧平台上,此属性会被忽略,因此无效。

希望这能解决您的问题。

【讨论】:

    【解决方案2】:

    当您在清单中使用 usesCleartextTraffic 时,您会收到以下警告:

    属性 usesCleartextTraffic 仅用于 API 级别 23 及更高级别 (当前最小值为 19)。

    usesCleartextTraffic 的默认值如下:

    • 对于面向 API 级别 27 或更低级别的应用,为“true”。
    • 针对 API 级别 28 或更高级别的应用默认为“false”。

    此属性是在 API 级别 23 中添加的。

    如果存在 Android 网络安全配置,则在 Android 7.0(API 级别 24)及更高版本上会忽略此标志。

    https://developer.android.com/guide/topics/manifest/application-element https://android-developers.googleblog.com/2016/04/protecting-against-unintentional.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 2023-03-31
      • 2016-11-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      相关资源
      最近更新 更多