手机cpu分32位与64位,下面介绍如何在所有android版本上判断手机cpu位数是32位还是64位。

1 Android 判断手机是32位CPU还是64位CPU

Android从API level 21开始,android.os.Build.java类中提供了3个属性可以查询cpu位数,分别是:

String[] supportedAbis = Build.SUPPORTED_ABIS;

在64位手机上查询示例结果:arm64-v8a,armeabi-v7a,armeabi
在32位手机上查询示例结题 :armeabi-v7a,armeabi

 String[] supported32BitAbis = Build.SUPPORTED_32_BIT_ABIS;

在 在64位手机 或者 32位手机上:查询结果为 armeabi-v7a,armeabi

String[] supported64BitAbis = Build.SUPPORTED_64_BIT_ABIS;

在64位手机上查询示例结果:arm64-v8a
在32位手机上查询结果为空,即64位的so不能在32位的手机上兼容

2 这个我应用在 AndroidQ获取不到imsi解决方案中

/*** 获取设备唯一标识符** @return 唯一标识符*/@SuppressLint("HardwareIds")public static String getDeviceId(Context context) {int abiLength = Build.CPU_ABI.length();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {String[] supportedAbis = Build.SUPPORTED_ABIS;abiLength = supportedAbis.length;}String m_szDevIDShort = "35" + Build.BOARD.length() % 10+ Build.BRAND.length() % 10 + abiLength % 10+ Build.DEVICE.length() % 10 + Build.DISPLAY.length() % 10+ Build.HOST.length() % 10 + Build.ID.length() % 10+ Build.MANUFACTURER.length() % 10 + Build.MODEL.length() % 10+ Build.PRODUCT.length() % 10 + Build.TAGS.length() % 10+ Build.TYPE.length() % 10 + Build.USER.length() % 10;// 13 位String serial = "serial";// 默认serial可随便定义try {if (Build.VERSION.SDK_INT == Build.VERSION_CODES.O) {if (ActivityCompat.checkSelfPermission(context,Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {// 由于 Android Q 唯一标识符权限的更改会导致// android.os.Build.getSerial() 返回 unknown,// 但是 m_szDevIDShort 是由硬件信息拼出来的,所以仍然保证了UUID 的唯一性和持久性。serial = android.os.Build.getSerial();// Android Q 中返回 unknown}} else {serial = Build.SERIAL;}} catch (Exception ignored) {return null;}return new UUID(m_szDevIDShort.hashCode(), serial.hashCode()).toString();}

3 android.os.Build类字段含义

android.os.Build.BOARD:获取设备基板名称
android.os.Build.BOOTLOADER:获取设备引导程序版本号
android.os.Build.BRAND:获取设备品牌
android.os.Build.CPU_ABI:获取设备指令集名称(CPU的类型)
android.os.Build.CPU_ABI2:获取第二个指令集名称
android.os.Build.DEVICE:获取设备驱动名称
android.os.Build.DISPLAY:获取设备显示的版本包(在系统设置中显示为版本号)和ID一样
android.os.Build.FINGERPRINT:设备的唯一标识。由设备的多个信息拼接合成。
android.os.Build.HARDWARE:设备硬件名称,一般和基板名称一样(BOARD)
android.os.Build.HOST:设备主机地址
android.os.Build.ID:设备版本号。
android.os.Build.MODEL :获取手机的型号 设备名称。
android.os.Build.MANUFACTURER:获取设备制造商
android:os.Build.PRODUCT:整个产品的名称
android:os.Build.RADIO:无线电固件版本号,通常是不可用的 显示unknown
android.os.Build.TAGS:设备标签。如release-keys 或测试的 test-keys
android.os.Build.TIME:时间
android.os.Build.TYPE:设备版本类型 主要为”user” 或”eng”.
android.os.Build.USER:设备用户名 基本上都为android-build
android.os.Build.VERSION.RELEASE:获取系统版本字符串。如4.1.2 或2.2 或2.3等
android.os.Build.VERSION.CODENAME:设备当前的系统开发代号,一般使用REL代替
android.os.Build.VERSION.INCREMENTAL:系统源代码控制值,一个数字或者git hash值
android.os.Build.VERSION.SDK:系统的API级别 一般使用下面大的SDK_INT 来查看
android.os.Build.VERSION.SDK_INT:系统的API级别 数字表示
android.os.Build.VERSION_CODES类 中有所有的已公布的Android版本号。全部是Int常量。可用于与SDK_INT进行比较来判断当前的系统版本。

4 测试用例

public static String getDeviceInfo() { StringBuffer sb = new StringBuffer(); sb.append("主板: "+ Build.BOARD+"\n"); sb.append("系统启动程序版本号: " + Build.BOOTLOADER+"\n"); sb.append("系统定制商:" + Build.BRAND+"\n"); sb.append("cpu指令集: " + Build.CPU_ABI+"\n"); sb.append("cpu指令集2 "+ Build.CPU_ABI2+"\n"); sb.append("设置参数: "+ Build.DEVICE+"\n"); sb.append("显示屏参数:" + Build.DISPLAY+"\n"); sb.append("无线电固件版本:" + Build.getRadioVersion()+"\n"); sb.append("硬件识别码:" + Build.FINGERPRINT+"\n"); sb.append("硬件名称:" + Build.HARDWARE+"\n"); sb.append("HOST: " + Build.HOST+"\n"); sb.append("修订版本列表:" + Build.ID+"\n"); sb.append("硬件制造商:" + Build.MANUFACTURER+"\n"); sb.append("版本:" + Build.MODEL+"\n"); sb.append("硬件序列号:" + Build.SERIAL+"\n"); sb.append("手机制造商:" + Build.PRODUCT+"\n"); sb.append("描述Build的标签:" + Build.TAGS+"\n"); sb.append("TIME: " + Build.TIME+"\n"); sb.append("builder类型:" + Build.TYPE+"\n"); sb.append("USER: " + Build.USER+"\n"); return sb.toString(); }

Android 判断手机是32位CPU还是64位CPU android.os.Build类字段含义相关推荐

  1. Android的.so文件,32位处理器与64位处理器

    一.ABI 是什么 ABI 是 Application Binary Interface 的缩写. 不同 Android 手机使用不同的 CPU,因此支持不同的指令集.CPU 与指令集的每种组合都有其 ...

  2. android 判断手机为小米

    之前,自己写了获取相册图片的代码,在自己手机上测试没有问题,不过小米手机却出现问题.在网上搜索资料,发现小米手机与其他德 处理不同.所以今天写一下判断手机系统的内容.其实很简单. public sta ...

  3. android+判断小米手机,android 判断手机为小米

    释放双眼,带上耳机,听听看~! 之前,自己写了获取相册图片的代码,在自己手机上测试没有问题,不过小米手机却出现问题.在网上搜索资料,发现小米手机与其他德 处理不同.所以今天写一下判断手机系统的内容.其 ...

  4. 【分享】如何判断个人电脑是多少位(32位?还是64位系统)

    如何判断个人电脑是多少位(32位?还是64位系统) 在开始>运行中输入"cmd",然后在命令提示符窗口中输入"systeminfo",如果系统是64位的, ...

  5. RomUtil【Android判断手机ROM,用于判断手机机型】

    参考资料 Android判断手机ROM 正文 有时候需要判断手机系统的ROM,检测ROM是MIUI.EMUI还是Flyme,可以使用getprop命令,去系统build.prop文件查找是否有对应属性 ...

  6. android 判断miui版本,Android判断手机是否是小米MIUI系统的方法

    易采站长站为您分析Android判断手机是否是小米MIUI系统的方法的相关资料,需要的朋友可以参考下 废话不多说了,直接给大家贴代码了: 具体代码如下所示: public class MIUIUtil ...

  7. android判断软件是否已root权限,Android应用开发Android 判断手机是否有root权限方法...

    本文将带你了解Android应用开发Android 判断手机是否有root权限方法,希望本文对大家学Android有所帮助. root权限是安卓最高的操作权限,俗称superuser,简称su,一般来 ...

  8. android 判断手机是否是国内的手机的方法

    转载:android 判断手机是否是国内的手机的方法(getSimCountryIso和getSimOperator) http://blog.csdn.net/mingli198611/articl ...

  9. phoronix-test-suite测试套件使用-树莓派32位系统 vs 64位系统下CPU性能对评测

    一直传闻64位系统性能更好,但到底好多少,一直也没个量化的标准,今天就来测试下树莓派4运行32位系统和运行64位系统下CPU的性能差异,注意这是测试对比CPU性能,并非测试系统性能,两个之间还是有差异 ...

最新文章

  1. 如何自动设计多流网络 实现GPT3大规模神经网路同等规模的网络
  2. 学计算机怎么收费呢,学计算机怎么收费服务为先_贵阳经济技术学校
  3. 164. Leetcode 435. 无重叠区间 (贪心算法-贪心区间)
  4. [转](总结)Linux/UNIX的scp命令用法详解
  5. java输入输出实验报告_JAVA实验报告(河北工业大学)
  6. CMD-NET命令详解、NET命令大全(转)
  7. C# 并行运算方法简析
  8. 计算机二级web题目(8.4)--综合应用题2
  9. Atitit.eclipse git使用
  10. 计算机应用第1次行考0001,四川电大5110083 计算机应用基础第二次形考_0001答案
  11. vue 可用于交互的表格
  12. 【机器学习】LDA算法 (主题模型算法)
  13. 记录一下unity 加载外部视频
  14. 装修、家具设计标准尺寸参考
  15. 高项、高级项目管理师论文-质量管理
  16. matlab计算恒向线航程
  17. 四个问题,判断自己是否适合学习编程
  18. 跨语言rpc框架Thrift
  19. Lingo练习 选拔问题
  20. c语言中scanf(%d%*c, n);的意思。

热门文章

  1. 研究显示,中国3亿烟民正在消耗世界40%的卷烟,烟草导致的死亡之潮亟待遏制 | 美通社头条...
  2. 喜报 | 一览群智荣获 “北京市诚信创建企业”称号
  3. python sorted原理_深入理解Python的sorted
  4. 提升计算机运行速度,提升电脑运行速度怎么做 如何提升电脑运行速度 - 驱动管家...
  5. php避免网页出现运营商劫持,防止运营商劫持,前端解决办法
  6. 2022备受初学者推荐的8本高质量Python书籍(赠电子版)
  7. 服务器信息是啥意思,那位高手能告知一下下面的服务器信息什么意思 谢谢
  8. 华为历届mate版本
  9. Django计算机毕业设计白酒营销管理(程序+LW)Python
  10. 单片机系统的低功耗设计策略