Whisper应用程序无法在各种Android模拟器中运行

时间:2020-02-19 19:00:59

标签: android android-emulator emulation bluestacks

我试图获得Whisper这个应用程序,以便在从Android AVD到Bluestacks再到Memu的各种android仿真器中运行,以及其他各种android仿真器,但无济于事。

但是,由于某些奇怪的原因,虽然可以通过这些模拟器成功安装和打开应用程序,但某些功能无法正常运行。

尤其是发表帖子,回复帖子或与其他用户进行对话/聊天都无法成功进行。就像您可以在终端看到的那样,它将使用户相信消息/帖子/响应已经发送/发布。但是,当使用也运行Whisper的实际(即物理)智能手机设备(无论是Android还是iOS)进行验证时,很显然它没有通过。

我很好奇A)开发人员如何识别/检测正在模拟器中运行的应用程序? B)更重要的是,我该如何掩盖或确保该应用程序无法检测到它正在模拟器中运行,并且认为它在物理设备上。

谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个检测设备是否为模拟器的函数。是的,我认为耳语会检测到这一点并限制模拟器使用这些功能。

public static boolean isEmulator() {
   return Build.FINGERPRINT.startsWith(MessengerShareContentUtility.TEMPLATE_GENERIC_TYPE) || Build.FINGERPRINT.startsWith("unknown") || Build.MODEL.contains("google_sdk") || Build.MODEL.contains("Emulator") || Build.MODEL.contains("Android SDK built for x86") || Build.MANUFACTURER.contains("Genymotion") || (Build.BRAND.startsWith(MessengerShareContentUtility.TEMPLATE_GENERIC_TYPE) && Build.DEVICE.startsWith(MessengerShareContentUtility.TEMPLATE_GENERIC_TYPE)) || "google_sdk".equals(Build.PRODUCT);
}

为了回答第二个问题,我不确定您将如何使模拟器作为真正的设备工作。但是您可以做的可能是修改应用程序本身以在模拟器上运行。