返回顶部
首页 > 资讯 > 移动开发 >Android 区别真机和模拟器的几种方法
  • 891
分享到

Android 区别真机和模拟器的几种方法

模拟器方法Android 2022-06-06 08:06:21 891人浏览 独家记忆
摘要

现在的模拟器的功能太强大,从蓝牙,传感器等配件到IMEI,Mac,以及手机硬件信息什么都可以模拟 为了防止用户利用模拟器模仿真机进行刷单,刷流量等恶意操作。 需要获取设备返

现在的模拟器的功能太强大,从蓝牙,传感器等配件到IMEI,Mac,以及手机硬件信息什么都可以模拟

为了防止用户利用模拟器模仿真机进行刷单,刷流量等恶意操作。

需要获取设备返回的一些信息来鉴别设备的真伪。

下面是整理的模拟器和真机的区别

虽然大部分都可以模仿,伪造,但是如果综合所有维度来监控,应该不存在太大问题。

一,native方式。

通过c代码读取设备中的配置和硬件相关信息。

1,diskstats

获取闪存的分区状态信息。


int fd = open(“/proc/diskstats”, O_RDONLY);
bytes = read(fd, buf, bytes);

区别:真机下都有mmcblk0分区,但是模拟器没有分区信息。

2,mac地址。

通过socket和ioctl读取mac地址。


sockfd = Socket(AF_INET, SOCK_DGRAM, 0);
ioctl(sockfd, SioCGIFCONF, (char*)&ifc);
ioctl(sockfd, SIOCGIFADDR, &ifr[i])
ioctl(sockfd, SIOCGIFHWADDR, (char*)&ifr[i])

区别:真机可以获取wlan0的ip和mac地址,模拟器只能获取eth0的ip和mac地址;

3,有用的prop信息。


__system_property_get(key, buf);

区别: 模拟器没有ro.boot.serialno和ro.serialno属性,真机中为机器序列号。

模拟器 ro.hardware属性为goldfish,真机为各自的型号。

4,cpu信息。


int fd = open(“/proc/cpuinfo”, O_RDONLY);
bytes = read(fd, buf, bytes);

区别:模拟器中cpuinfo的硬件为Goldfish。

5,drivers


int fd = open(“/proc/tty/drivers”, O_RDONLY);

区别:模拟器中包含goldfish的驱动

6,模拟器特有文件。


int fd = open(“/dev/socket/qemud”, O_RDONLY);
int fd = open(“/dev/qemu_pipe”, O_RDONLY);

区别:模拟器专有的文件,真机中没有。

二,传统的方式:

通过Java层的代码获取,可以有以下方式:

1,IMEI和IMSI

IMEI  移动设备国际身份码。

IMSI  IMSI国际移动用户识别码,储存在SIM卡中


final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId();
String imsi = tm.getSubscriberId();

设备1:354273055927169 / null(无卡)

设备2:862966024243759 / 460011040618938

模拟器:000000000000000 / 310260000000000

2,Serial序列号


String serial = Android.os.Build.SERIAL;

设备1:4df78680771b117b

设备2:OBai5HDQZPDIRCQG

模拟器:unknown

3,android_id


String android_id = Secure.getString(getContentResolver(), Secure.ANDROID_ID);

 设备和模拟器都有,16位。

4,Mac地址


WifiManager wifimanage=(WifiManager)getSystemService(Context.WIFI_SERVICE); WifiInfo wifiinfo= wifimanage.getConnectionInfo();

设备1:88:32:9b:1e:49:20

设备2:f8:a4:5f:fd:56:17

模拟器:null

以上就是对Android 区别真机和模拟器 方法的整理和对比,有需要的朋友可以参考一下.

您可能感兴趣的文章:Android开发必备:秒杀真机超快模拟器Genymotion介绍Android 判断真机和模拟器的方法


--结束END--

本文标题: Android 区别真机和模拟器的几种方法

本文链接: https://lsjlt.com/news/24591.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android 区别真机和模拟器的几种方法
    现在的模拟器的功能太强大,从蓝牙,传感器等配件到IMEI,Mac,以及手机硬件信息什么都可以模拟 为了防止用户利用模拟器模仿真机进行刷单,刷流量等恶意操作。 需要获取设备返...
    99+
    2022-06-06
    模拟器 方法 Android
  • JavaScript获取对象key的几种方法和区别
    目录1、Object.keys()遍历自身可以枚举属性2、Ojbect.values() /Ojject.entries()3、for-in 遍历可枚举属性prototype 属性4...
    99+
    2024-04-02
  • 云服务器有哪几种服务模式的区别和联系
    按使用量计费:用户只需为所使用的计算资源付费,不需要为存储和带宽付费。这种模式适用于大型企业和大规模数据存储。 按功能计费:用户可以根据需要选择不同的云服务器服务,例如数据存储、网络安全、备份等,也可以根据实际使用量付费。这种模式适用于需...
    99+
    2023-10-27
    几种 区别 模式
  • 云服务器有哪几种服务模式的区别
    云服务器提供了以下几种服务模式的区别: 按需服务:用户可以根据需要使用或租用云服务器,不需要指定具体的服务器设备。这种模式可以更好地满足不同用户的需求,但需要用户付费使用。 按使用量付费:云服务器按照用户实际使用的时间或流量计算费用,而...
    99+
    2023-10-26
    几种 区别 模式
  • 云服务器有哪几种模式类型的区别
    云服务器(Cloud Drive)的模式类型包括: 按需自服务模式:这种类型的云服务器可以根据客户的使用情况,按需调整云服务器的计算负载或存储服务,而不需要客户自行设置硬件或系统。 自服务模式:这种类型的云服务器提供自服务功能,客户只需...
    99+
    2023-10-26
    几种 区别 类型
  • 虚拟主机和虚拟服务器的区别
    虚拟主机和虚拟服务器的区别有:1.概念不同,虚拟服务器是将服务器主机分成若干个主机,虚拟主机是实现多网域服务的方法;2.应用领域不同,虚拟服务器技术主要应用于HTTP服务,虚拟服务器技术主要应用于HTTP,FTP,EMAIL等多项服务;具体...
    99+
    2024-04-02
  • 云服务器有几种服务模式类型的区别
    IaaS(基础设施即服务):提供的是一组标准化的硬件和软件资源,供用户租用和管理。IaaS的最大优点是灵活性,用户可以根据自己的需求进行定制和配置,从而获得更高的性能和可靠性。IaaS可以为小型企业、个人用户和中小型企业提供低成本的云计算...
    99+
    2023-10-27
    几种 区别 类型
  • 云服务器和虚拟机的区别
    云服务器和虚拟机(Virtual Server)是两种不同的计算模型,它们的主要区别在于它们在计算方面的角色和作用。 云服务器通常是将计算资源放在远程服务器上,以确保用户可以获得实时响应。这种类型的服务器可以用于许多应用程序和服务,例如W...
    99+
    2023-10-26
    虚拟机 区别 服务器
  • 虚拟机和云服务器的区别
    虚拟机(VM)和云服务器都是常见的云计算服务,它们之间的主要区别在于应用程序的部署方式和使用体验。 云服务器通常在私有云环境中使用,使用公共云提供商提供的资源,通常由用户自行管理和配置。相比之下,虚拟机则通常被部署在公共云平台上,由服务提...
    99+
    2023-10-26
    虚拟机 区别 服务器
  • 云服务器有哪几种服务模式类型的区别和联系
    1.按需付费模式 按需付费模式是云服务器最常见的服务模式之一。用户可以根据自己的需求来购买云服务器的使用权,并按照预期的使用量和使用时间来付费。这种模式下,云服务器的价格相对较为灵活,可以根据实际需求进行定制化,以满足用户的需求。此外,按...
    99+
    2023-10-27
    几种 区别 类型
  • 【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么?
    一.adb是什么? adb 称之为:Android 调试桥 (Android Debug Bridge )是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix...
    99+
    2023-12-22
    adb android 智能手机 安卓手机 ADB
  • 云服务器和虚拟主机的区别和联系与区别
    云服务器和虚拟主机是两个常用的网站托管平台,它们都提供了虚拟化技术来支持企业或个人将数据存储在公共云中。这两个平台都包括了服务器、存储、网络和其他资源,以提供灵活、安全和可靠的基础设施。 云服务器提供了虚拟化的基础设施,允许企业或个人将服...
    99+
    2023-10-26
    区别 虚拟主机 服务器
  • 云服务器有哪几种服务模式的功能区别
    资源即服务(Resource-as-a-Service,简称RaaS):云服务器提供了一种可以按需获取、按使用量付费的服务模式。用户不需要购买硬件、软件、带宽等资源,只需要按需租用云服务器就可以使用。这种服务模式可以让用户灵活地控制计算资...
    99+
    2023-10-27
    几种 区别 模式
  • 云服务器有哪几种服务模式类型的区别
    云服务器可以分为以下几种服务模式类型: 按需服务模式(Provider-Consumption Service,简称PaaS):PaaS模式下,用户向云服务器租用其所需的资源,而云服务器根据用户的配置和使用情况向用户提供相应的资源和服务...
    99+
    2023-10-27
    几种 区别 类型
  • 云服务器和虚拟主机的区别
    云服务器(Cloud Server)是一种提供云计算服务的服务器,它可以通过互联网连接到客户端设备上,使得用户可以在不需要物理服务器的情况下完成各种数据处理任务。 虚拟主机(Virtual Server)是一种专门为特定目的而设计的服务器...
    99+
    2023-10-26
    虚拟主机 区别 服务器
  • 云服务器和云虚拟机的区别
    云服务器和云虚拟机是云计算平台中两种常见的虚拟化技术。 云服务器是一种虚拟服务器,它通过网络共享存储和计算资源。这意味着云服务器可以为您的多个用户提供高性能计算资源,并且能够为您的多个应用程序提供高可靠性和高可用性。 云虚拟机是一种虚拟机...
    99+
    2023-10-26
    虚拟机 区别 服务器
  • Android 启动 Service(startservice和bindservice) 两种方式的区别
    Android Service 生命周期可以促使移动设备的创新,让用户体验到最优越的移动服务,只有broadcast receivers执行此方法的时候才是激活的,当 onRe...
    99+
    2022-06-06
    service 启动 Android
  • Java线程池的几种实现方法和区别介绍实例详解
    下面通过实例代码为大家介绍Java线程池的几种实现方法和区别:import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;...
    99+
    2023-05-31
    java 线程池 ava
  • 云服务器有哪几种协议类型的区别和联系与区别
    云服务器有多种协议类型,具体有以下几种区别和联系: 虚拟主机(Virtual Hosting):虚拟主机是指允许一台服务器分割成多个虚拟机,并共享存储资源和网络带宽的服务器。虚拟主机通常用于个人或小型公司,提供高性能、弹性、可靠性等特点...
    99+
    2023-10-26
    区别 几种 协议
  • Ubuntu虚拟机网络无法连接的几种解决方法
    虚拟机网络无法连接的几种解决方法 问题状况描述可能的解决方案 问题状况描述 Ubuntu虚拟机没有网络,无法ping通互联网,左上角网络连接图标消失等情况 可能的解决方案 1.重启虚拟机网...
    99+
    2023-09-10
    ubuntu linux 运维
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作