2

这是一个理论上的情况:

  • 我正在编写一个应用程序来检测手机上是否存在另一个应用程序
  • 目标应用程序的类路径、名称、活动名称等已被随机化,我不能只检查它是否存在(它在语义上相同但在语法上是唯一的)
  • 我有手机的root权限
  • 该应用程序是开源的,并且(除了包名称和应用程序名称)我对它了如指掌。
  • 该应用程序不生成日志输出。

我一直在想办法检测手机上是否存在这个其他应用程序(假设它实际上是不时运行的),以下方法是否可行?

  • 定期查找内存中某些类的存在
  • 在每个已安装的 apk 中搜索已知的已编译代码块
  • 通过以一定的时间间隔检查设备的内存来检测正在运行的应用程序,并寻找与应用程序匹配的使用模式

在这种情况下,还有其他方法可以检测另一个应用程序吗?

4

1 回答 1

1

使用PackageManager。它有一个方法返回有关系统上安装的所有应用程序的信息:getInstalledPackages().

于 2011-03-28T10:40:49.487 回答