我正试图检测adb server是否在安卓设备上运行,这是我的免费游戏的防作弊实现的一部分。
具体来说,我想停止使用adb shell input tap x,y,因为游戏是一个竞争性的多人益智游戏。
我尝试过的事情:
Settings.Secure或Settings.Global,我可以查询ADB_ENABLED,但如果启用了亚行,则总是返回1。它没有考虑到亚行连接与否!在这一点上,我已经没有想法了。希望其他人知道怎么做?
发布于 2015-01-11 15:16:46
您可以检查是否运行adbd进程或查询init.svc.adbd系统属性:
$ ps adbd
USER PID PPID VSIZE RSS WCHAN PC NAME
root 14947 1 4596 208 ffffffff 00019358 S /sbin/adbd
$ getprop init.svc.adbd
running在安卓系统中,adb驱动程序是作为通用usb驱动程序实现的。您可以检查当前启用的usb函数的(逗号分隔)列表,以查看它是否包括"adb"。
$ cat /sys/devices/virtual/android_usb/android0/functions
mtp,adb但是,当你的应用程序在用户控制的设备上完全运行时,你就无法停止作弊。
https://stackoverflow.com/questions/27884372
复制相似问题