我是靠谱客的博主 还单身薯片,最近开发中收集的这篇文章主要介绍Unity判断apk运行在模拟器上,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近有个需求,判断游戏是否运行在模拟器上,于是在网上搜各种方法,也在github是扒了个库(传送门:https://github.com/framgia/android-emulator-detector),发现还是判断不了模拟器,也做了各种尝试,发现效果不行,而且实现还很坑,于是笔者只能另想办法了;

笔者于是想到,现在移动平台的cpu基本是arm架构了,而且unity现在也不支持打x86的apk,但是在电脑上的,cpu现在基本是intel和amd,而这两类cpu都是x86架构,于是我们可以通过判断cpu的类型来判断是否运行在模拟器上;

废话不多说了,贴上代码

/// <summary>
/// 判断是否运行在模拟器上
/// 通过cpu类型来判断,电脑cpu一般是intel和amd,都是x86架构
/// </summary>
/// <returns>是否运行在模拟器上</returns>
public bool IsSimulator()
{
string processorType = SystemInfo.processorType;
//模拟器上返回以x86开头的字符串
if (string.IsNullOrEmpty(processorType))
return false;
else
return processorType.StartsWith("x86", StringComparison.OrdinalIgnoreCase);
}

笔者把当前主流模拟器试了下,发现SystemInfo.processorType返回的是x86开头的字符串,在真机上返回arm开头的字符串;

Chrome OS支持x86,如果运用要运行在x86平台,这种方法就不适合了,仅供大家参考;

最后

以上就是还单身薯片为你收集整理的Unity判断apk运行在模拟器上的全部内容,希望文章能够帮你解决Unity判断apk运行在模拟器上所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部