Android 判断软件app是否运行在bluestacks模拟器上(或者其他模拟器)

本文提供了一种检测Android应用是否运行在模拟器上的方法。通过分析设备信息中的特定字符串来判断,有效识别包括BlueStacks在内的多种模拟环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


         方法如下:

/**
	 * 检测是否运行在模拟器上
	 * 
	 * @return
	 * @throws Exception
	 * @author qiulinhe
	 * @createTime 2017年5月12日 下午1:57:29
	 */
	public boolean isEmulator() {
		String buildDetails = (Build.FINGERPRINT + Build.DEVICE + Build.MODEL + Build.BRAND + Build.PRODUCT + Build.MANUFACTURER + Build.HARDWARE)
				.toLowerCase();
		//我试了网上所有的方法,都没用,最后看打出来的string,找到特殊的字符串:kot49h,这个是bluestacks模拟器返回的
		if (buildDetails.contains("keyshlteatt") || buildDetails.contains("kot49h") || buildDetails.contains("generic")
				|| buildDetails.contains("unknown") || buildDetails.contains("emulator") || buildDetails.contains("sdk")
				|| buildDetails.contains("genymotion") || buildDetails.contains("x86") // this includes vbox86
				|| buildDetails.contains("goldfish") || buildDetails.contains("test-keys")) {
			return true;
		}
		return false;
	}


   试了一个遍网上的其他方法,都是没有用的,最新的bluestacks蓝叠是没有的,只有从他们返回的字符串入手,我打印的情况如下:

真实的htc手机 的htc/htccn_chs/htc_a51dtul:4.4.4/ktu84p/484493.10:user/release-keyshtc_a51dtulhtc 
d820thtchtccn_chshtcqcom


05-12 13:50:25.741: I/System.out(7811): 
模拟器的bluestacks :samsung/hlteuc/hlteatt:4.4.2/kot49h/n900aucucmlg:user/release-keyshlteattsamsung-sm-n900
asamsunghlteucsamsunguniversal5420




真实三星平板的samsung/gts210wifizs/gts210wifi:5.0.2/lrx22g/t810zsu1aog5:user/
release-keysgts210wifism-t810samsunggts210wifizssamsunguniversal5433

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值