代码之家  ›  专栏  ›  技术社区  ›  Shantanu Gangal

确定哪些SDK用于第三方应用程序

  •  0
  • Shantanu Gangal  · 技术社区  · 6 年前

    我想确定哪些第三方SDK(如Mixpanel、Google Analytics、Facebook SDK)正在应用程序中使用(如有)。有没有办法找到答案?

    就这个问题而言,假设我不是应用程序的开发人员,因此我没有访问源代码的权限。

    2 回复  |  直到 3 年前
        1
  •  1
  •   helloanand    6 年前

    你可以使用Appbrain这样的服务来找到答案。最初的几次查找都是免费的。

        2
  •  0
  •   Ryan M Jordan    4 年前

    由于以下几个原因,无法可靠地枚举应用程序使用的库。

    主要原因是混淆:如果用户打开Proguard或R8,他们将重命名库的类,可能会使它们无法识别。

    另一个原因是,没有一个完整的现有Android库列表,也没有类名到库的映射。

    然而,如果你真的想 尝试 要做到这一点,你应该 retrieve the application's class files 然后从您关心的库中查找包名的开头(因为模糊处理程序不太可能重命名整个包名,尽管它们仍然可能)。例如,如果您想查看某个应用程序是否使用okhttp3,那么您需要查看是否有 okhttp/okhttp3 文件夹(用于包 okhttp.okhttp3 )。

    你可以 大概 甚至可以通过查找流行的Maven/Gradle包列表、下载它们、提取类名并将其用作数据集来实现自动化。