Hunter 模拟器 / 云手机检测 - 设备参数不符即报
这项在查什么
模拟器 / 云手机检测扫的是当前运行环境是不是一台真实的物理 Android 设备。如果设备来自 Android Studio Emulator、夜神、雷电、MuMu 等模拟器,或者来自云手机服务(远程安卓实例),Hunter 大概率能识别出来。
检测方向包括:
- CPU 架构标识(
Build.CPU_ABI、Build.CPU_ABI2):模拟器通常跑在 x86 / x86_64 上,真机是 arm64-v8a - 传感器列表:模拟器通常没有完整的加速度计、陀螺仪、磁力计等硬件传感器
- 电池信息:模拟器的电池状态常显示为固定值
- TelephonyManager 返回值:IMEI、运营商信息等在模拟器上是假值
- Build 类属性:
Build.MODEL、Build.MANUFACTURER、Build.FINGERPRINT等在模拟器上和真机不同
模拟器上跑 Hunter 会怎样
几乎所有模拟器都会触发模拟器检测——因为 x86 架构 + 不完整传感器 + 假设备参数的组合太明显了。这是 Hunter 在模拟器上的预期表现,不是故障。
如果你想在模拟器里正常用 Hunter 看其他检测项,模拟器检测报红可以忽略。
云手机呢
云手机是另一类场景——它们是远程运行的 Android 实例,通过视频流把画面传回你的手机。云手机本质上是运行在服务器上的 Android(有些是真硬件、有些也是模拟器),所以检测结果分两种情况:
- 真实硬件云手机:如果它是真正的安卓手机只是远程访问,可能检测为真机(取决于具体实现)
- 模拟器型云手机:和普通模拟器一样,会被检测出来
云手机上 Hunter 的检测结果只能反映云手机本身的环境,和你实体手机的环境完全无关。
真机上误报模拟器的可能性
非常低,但不是零。极端情况:
- 刷机后设备属性值没被正确重置(罕见的恢复出厂设置 bug)
- 某款冷门山寨机的硬件标识恰好和某些模拟器重合
- 第三方 ROM 改了 Build 属性
真机误报模拟器时,重点对照设备指纹检测一起看——如果设备指纹也报红,两项互相印证;如果只有模拟器报红而指纹正常,大概率是误报。
和设备指纹检测的关系
模拟器检测和设备指纹检测是一对好搭档:
- 模拟器检测侧重「环境类型」(是不是模拟器 / 云手机容器)
- 设备指纹检测侧重「参数真实性」(Android ID、MAC 地址等被动过没有)
两个同时报红 → 高度怀疑设备不是真实物理机只有一个报红 → 单项存疑,结合详情页的具体参数判断