让我们说大多数Android处理器都是ARM类型,但是对于测试,仿真器大多数是x86类型。我只在ARM上运行的本机库,我只想为x86添加虚拟代码以创建单元测试。我知道简单的try / catch就足够了,但问题是我想用单元测试的虚拟代码创建接口。
我试过了,
System.Reflection.PortableExecutableKinds peKind;
System.Reflection.ImageFileMachine machine;
typeof(object).Module.GetPEKind(out peKind, out machine);
我为.net找到了各种答案,但在Android中,我总是得到x86,虽然我在设备上运行app,但它没有给我正确答案。
type(object).Assembly.GetName().ProcessorArchitecture
始终返回x86。
答案 0 :(得分:3)
您可以使用Android.OS.Build Class来帮助您确认设备是ARM还是Intel x86(Intel)armeabi-v7a
或x86
等。
IList<string> abis = Android.OS.Build.SupportedAbis;
<强>替代地强>
您可以使用Java.Lang.JavaSystem.GetProperty Method来获取操作系统架构,armv71
和i686
等。
string osArchitecture = Java.Lang.JavaSystem.GetProperty("os.arch");