在Android应用程序中阻止模拟器

时间:2015-06-11 09:42:57

标签: android security android-emulator android-sensors

出于安全考虑,我想阻止模拟器使用我的应用程序。 我不希望我的应用程序安装在genymotion,bluestack,droidx等任何模拟器上......

我有一个应用程序,我们有提供墙,其中不包含Android应用程序,使用可以安装和赚取积分。一旦他们获得了一些积分,他们就可以使用paypal账户退出。

现在问题是一些用户正在通过代理或模拟器安装它。他们通过使用代理或模拟器赚取任何收入......

请帮忙..我遇到了大麻烦..

1 个答案:

答案 0 :(得分:1)

我认为这会奏效。当您的应用开始时,请检查此方法。如果它返回true,请退出您的应用。否则继续。它不会阻止安装,但肯定会阻止运行。

 public static boolean isRunningOnEmulator()
 {
    boolean result=
        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");
    if(result)
        return true;

    result|=Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic");

    if(result)
        return true;

    result|="google_sdk".equals(Build.PRODUCT);

    return result;
}

更多信息是here