阻止我的android应用安装在bluestack模拟器上

时间:2019-03-08 23:41:19

标签: android

我是新创建类似的东西

但是我想阻止人们将我的应用安装在模拟器上,尤其是在Bluestack上。

当我用Google搜索它时,我发现了thisthis,但它们都对我失败了,并且仍然安装在bluestack上。

也尝试使用this lib,但失败了

所以我希望有人能帮助我解决这个问题

1 个答案:

答案 0 :(得分:1)

这是我的主意,首先为什么不尝试检查SIM卡号码并拒绝没有SIM卡的人,

在Java上:

TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();
String getSimNumber = telemamanger.getLine1Number();

Manifest.xml中启用权限

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

如果由于仿真器上的用户修改导致该步骤失败,请尝试检查应用程序是否在仿真器上运行,

    public static boolean isEmulator() {
    return Build.FINGERPRINT.startsWith("generic")
            || 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("generic") && Build.DEVICE.startsWith("generic"))
            || "google_sdk".equals(Build.PRODUCT);
}

如果isEmulator() == true,则应关闭该应用程序。

希望这会有所帮助!