Android和IOS上的SDK检测

Ron*_*dot 6 sdk android detection ios

我正在开发一个POC SDK,我需要添加一个能力来检测当前App上用户我的SDK是否存在任何其他第三方SDK(来自有限列表).

例如,检测到正在使用Google Maps SDK.

在Android和IOS上这样做的方法是什么?

F43*_*d1r 5

安卓

  1. 从库中选择一个类并尝试使用类加载器加载它。优点:不太可能给出误报。缺点:如果类被混淆会失败。这意味着它只能可靠地用于包含无法混淆的类的库,例如活动。
  2. 读取apk文件,尝试找到库的基础包名。优点:在标准问题 proguarded 应用程序上不会失败。缺点:分析 classes.dex 需要额外的工具。
  3. 在编译时搜索库(例如使用 gradle 插件)。优点:可以在proguard等类似工具之前插入。缺点:绑定到特定的构建工具(例如 gradle)。

  • @RoniGadot:“我的目标是检测竞争对手的 SDK 是否与我的 SDK 并行使用,以避免客户迁移”——我强烈建议您就此咨询您的律师。 (3认同)