= 28-6ren"> = 28-我正在尝试禁用 Android StrictMode 检查之一 - 检测未标记的套接字。 我有几个理由这样做: 我们的应用程序中使用的一些库,例如Crashlytics/毕加索等 在内部使用 OkHt-6ren">
gpt4 book ai didi

android - 严格模式 : How to disable "Untagged socket detected" in Android for targetSdk >= 28

转载 作者:行者123 更新时间:2023-12-03 13:26:10 68 4
gpt4 key购买 nike

我正在尝试禁用 Android StrictMode 检查之一 - 检测未标记的套接字。

我有几个理由这样做:

  • 我们的应用程序中使用的一些库,例如Crashlytics/毕加索等
    在内部使用 OkHttp 并且 StrictMode 检测到未标记的套接字
    OkHttp 代码中的问题(我无权访问第三方库的代码来解决此问题)
  • 我需要清除我无法修复的严格模式未标记套接字错误的日志,以消除其他 StrictMode 问题检测的噪音

  • 要启用 VmPolicy 我们使用 VmPolicy.Builder.detectAll()方法

    通过查看 StrictMode 的来源,我找到了方法 VmPolicy.Builder.permitUntaggedSockets 但它注释为 @hidden并且不能在 API = 28 上使用

    唯一的 solution我发现这个问题是复制 detectAll()方法主体到我的代码并删除对 detectUntaggedSockets() 的调用但在我看来,容易出错且维护性差。

    可能有人可以为所描述的问题提出更好的解决方案吗?

    非常感谢任何有关“为什么 permitUntaggedSockets() 在 API 28 中被隐藏”的信息。

    Crashlytics: Details about StrictMode problem

    OkHttp: Bug report about Untagged socket problem

    最佳答案

    所以你的问题是:

    Any information about "Why permitUntaggedSockets() became hidden in API 28" are really appreciated.



    我的回答是(这是个好问题!XD)
    我认为 StictMode 至少需要一个好的 JavaDoc,我们并没有要求太多。

    对你来说好消息是这个问题有一个基于新的 28-API 的解决方案,这是我的代码 fragment :
    https://gist.github.com/houssemzaier/cf69f9a614f9550408872349e5798e0b

    祝你有美好的一天!

    关于android - 严格模式 : How to disable "Untagged socket detected" in Android for targetSdk >= 28,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54212614/

    68 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com