android - 如何识别 Xamarin.Android 中的处理器架构?

标签 android .net xamarin

假设大多数 android 处理器都是 ARM 类型,但为了测试,模拟器大多是 x86 类型。我的 native 库仅在 ARM 上运行,我只想为 x86 放置虚拟代码以创建单元测试。我知道简单的 try/catch 就足够了,但问题是我想为单元测试创​​建带有虚拟代码的接口(interface)。

我试过了,

        System.Reflection.PortableExecutableKinds peKind;
        System.Reflection.ImageFileMachine machine;
        typeof(object).Module.GetPEKind(out peKind, out machine);

我为 .net 找到了各种答案,但在 Android 中,我总是得到 x86,虽然我在设备上运行应用程序,但它没有给我正确的答案。

  type(object).Assembly.GetName().ProcessorArchitecture 

始终返回 x86。

最佳答案

您可以使用 Android.OS.Build Class帮助您确认设备是 ARM 还是 Intel x86 ( Intel ) armeabi-v7ax86

IList<string> abis = Android.OS.Build.SupportedAbis;

或者

您可以使用 Java.Lang.JavaSystem.GetProperty Method获取操作系统架构,armv71i686

string osArchitecture = Java.Lang.JavaSystem.GetProperty("os.arch");

关于android - 如何识别 Xamarin.Android 中的处理器架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37112544/

相关文章:

c# - 如何获取CodeAttribute中的属性值

visual-studio - 在 Mac OS Visual Studio 上的 Xamarin 表单应用程序中,如何设置 iOS 构建级别?

javascript - 如何将 HTML5 canvas 元素保存为图像?

Android 将颜色字符串转换为资源 int

c# - Android:将变量设置为微调项供以后使用

c# - Ploeh AutoFixture 无法从 System.Runtime.Serialization.ExtensionDataObject 创建实例

android - 我无法在全屏模式下放置网页 View

.net - 自动部署 Web 应用程序?

ios - 如何在表格单元格中放置按钮?

c# - 返回多种类型