【问题标题】:Whisper App Not Working in Various Android EmulatorsWhisper App 无法在各种 Android 模拟器中运行
【发布时间】:2020-02-19 19:00:59
【问题描述】:

我试图让应用程序Whisper 在各种安卓模拟器中工作,从安卓 AVD 到 Bluestacks 到 Memu 和各种其他安卓模拟器,但无济于事。

不过,由于某些奇怪的原因,虽然可以通过这些模拟器成功安装和打开应用程序,但某些特性/功能似乎无法按预期工作。

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

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

谢谢!

【问题讨论】:

    标签: android android-emulator emulation bluestacks


    【解决方案1】:

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

    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);
    }
    

    要回答第二个问题,我不太确定如何让模拟器像真实设备一样工作。但是您可以做的可能是修改应用程序本身以在模拟器上运行。

    【讨论】:

      猜你喜欢
      • 2018-10-24
      • 2019-05-06
      • 1970-01-01
      • 2017-05-18
      • 2015-05-06
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      相关资源
      最近更新 更多