CPU(计算)+RAM(内存)+ROM(内置存储卡)+ GPU(图像处理等)等参数。
  手机芯片制造商高通;英特尔Intel芯片,服务器芯片。
> CPU类型与SO文件
-- 手机的CPU,多核,32Bit CPU,64Bit CPU;
Android 的ARM架构和X86架构- http://blog.csdn.net/victor_barnett/article/details/79446137

早期的Android系统几乎只支持ARMv5的CPU架构,而现在Android平台支持7种不同的CPU架构,他们分别是ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应的ABI(Application Binary Interface)。  64位的CPU架构总能向下兼容其对应的32位指令集,如:x86_64兼容X86,arm64-v8a兼容armeabi-v7a,mips64兼容mips;
  对于CPU来说,不同的架构并不意味着一定互不兼容;Android共支持七种不同类型的CPU架构,其兼容特点可总结如下:
armeabi设备只兼容armeabi;
armeabi-v7a设备兼容armeabi-v7a、armeabi;
arm64-v8a设备兼容arm64-v8a、armeabi-v7a、armeabi;
X86设备兼容X86、armeabi;
X86_64设备兼容X86_64、X86、armeabi;
mips64设备兼容mips64、mips;
mips只兼容mips;

目前市场份额而言,绝大部分的设备都已经是armeabi-v7a、arm64-v8a,你也可以考虑只保留armeabi-v7a架构的SO文件,这样能获得更好的性能效果。性能差异比较明显加入单的的so文件并在代码中去判断。
  Android arm 架构注重的是续航能力 ;x86 架构注重的是性能 。
  在Android系统上,每一个CPU架构对应一个ABI:armeabi;armeabi-v7a;x86;mips;arm64-v8a;mips64;x86_64

-- Android 相关七种 CPU 架构适配- https://blog.csdn.net/Kester_/article/details/71055901
  NDK 开发时会涉及到 CPU 架构的适配,不同的机器上可能会有不同的 CPU 架构,也就是说,翻译到机器上使用的规则
不一样,Android 上有7种 CPU 架构:1.armeabi ;2.armeabi-v7a ;3.arm64-v8a ;4.x86 ;5.x86_64 ;6.MIPS ;7.MIPS64 
  从厂家上来分是有三种,arm,x86,MIPS,arm 系列是绝大多数手机上使用的,x86 主要是运用在平板上,而 MIPS 基
本上就没见过。正常来说只使用 armeabi-v7a 就可以适配基本所有手机了,因为现在手机基本上都支持这种CPU架构。

-- CISC(复杂指令集)和RISC(精简指令集)在很多方面都有所差异:
  RISC的设计重点在于降低由硬件执行指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能,因此RISC设计对编译器有更高的要求;CISC的设计则更侧重于硬件执行指令的功能,使CISC的指令变得很复杂。总之RISC对编译器的要求高,CISC强调硬件的复杂性,CPU的实现更复杂。
 1.指令集----RISC处理器减少指令集的种类,通常一个周期一条指令,也就是说指令的周期是固定的,编译器或程序员通过几条指令完成一个复杂的操作;CISC的指令长度通常不固定。
 2.流水线----流水线的本质就是CPU并行运行,只是并行运行不像FPGA中的那么直接,它只是把一条指令分成几个更小的执行单元;CISC指令的执行需要调用一个微程序,明显没有RISC的指令吞吐量大。
 3.寄存器----RISC的寄存器拥有更多的通用寄存器,寄存器操作较多,例如ARM具有27个寄存器,CISC的寄存器都是用于特定目的的。
 4.Load-store结构----处理器只处理寄存器中的数据,这是因为访问存储器很耗时,同时对外部存储器的读写会影响其寿命;CISC能够在存储器中直接运行
 5.寻址方式简化,不像CISC那样的复杂众多的寻址方式

-- 目前在iOS设备上的CPU指令为一下几种:
 armv6: iPhone、iPhone 2、iPhone 3G、iPod Touch(第一代)、iPod Touch(第二代)       
 armv7: iPhone 3Gs、iPhone 4、iPhone 4s、iPad、iPad 2
 armv7s: iPhone 5、iPhone 5c (静态库只要支持了armv7,就可以在armv7s的架构上运行)
 arm64(注:无armv64): iPhone 5s、iPhone 6、iPhone 6 Plus、iPhone 6s、iPhone 6s Plus、 iPhone 7 、iPhone 7 Plus、iPad Air、iPad Air2、iPad mini2、iPad mini3、iPad mini4、iPad Pro。

-- SO文件
Android SO文件的兼容和适配- http://blog.coderclock.com/2017/05/07/android/Android-so-files-compatibility-and-adaptation/
根据以上的兼容总结,我们还可以得到一些规律:
  armeabi的SO文件基本上可以说是万金油,它能运行在除了mips和mips64的设备上,但在非armeabi设备上运行性能还是有所损耗;
ndk {
  // 设置支持的SO库架构
  abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a','x86', 'x86_64'
}
ndk {
  // 设置支持的SO库架构
  abiFilters 'armeabi'//, 'armeabi-v7a', 'arm64-v8a','x86', 'x86_64'
}
-- 通过下面的配置来制定支持的ABI:
TARGET_CPU_API := all APP_ABI := all或者是
TARGET_CPU_API := armeabi armeabi-v7a x86 x86_64 arm64-v8a mips mips64 APP_ABI := armeabi armeabi-v7a x86 x86_64 arm64-v8a mips mips64

开发Android应用时,有时候Java层的编码不能满足实现需求,就需要到C/C++实现后生成SO文件,再用System.loadLibrary()加载进行调用,这里成为JNI层的实现。常见的场景如:加解密算法,音视频编解码等。
  就目前市场份额而言,绝大部分的设备都已经是armeabi-v7a、arm64-v8a,你也可以考虑只保留armeabi-v7a架构的SO文件,这样能获得更好的性能效果。

> 手机IMEI的构成规则,手机IMEI码由15-17位数字组成:

第一部分 TAC,Type Allocation Code,类型分配码,由8位数字组成(早期是6位),是区分手机品牌和型号的编码,该代码由GSMA及其授权机构分配。其中TAC码前两位又是分配机构标识(Reporting Body Identifier),是授权IMEI码分配机构的代码,如01为美国CTIA,35为英国BABT,86为中国TAF。

第二部分 FAC,Final Assembly Code,最终装配地代码,由2位数字构成,仅在早期TAC码为6位的手机中存在,所以TAC和FAC码合计一共8位数字。FAC码用于生产商内部区分生产地代码。

第三部分 SNR,Serial Number,序列号,由第9位开始的6位数字组成,区分每部手机的生产序列号。

第四部分 CD,Check Digit,验证码,由前14位数字通过Luhn算法计算得出。

第五部分 SVN,Software Version Number,软件版本号,区分同型号手机出厂时使用的不同软件版本,仅在部分品牌的部分机型中存在。

-- “求一个HTC手机的IMEI”

金立手机 IMEI:8625 8302 7073 776

oppo手机 IMEI:8629 6503 3916 272,IMEI2:8629 6503 3916 264

三星手机 IMEI:3499 4566 1188 460(2),3529 9305 8134 818,3562 0505 9148 432,3574 4505 2236 185

联想手机 IMEI:8609 8803 0355 288,IMEI2:8609 8803 0355 296

诺基亚手机IMEI:3533 8409 9184 716,IMEI:3533 8409 9184 718,  351939054167774

魅族手机 IMEI1:8651 7603 2647 226,IMEI2:8651 7603 2647 234

vivo手机 IMEI:8686 0204 4746 778,IMEI2:8686 0204 4746 760

iOS手机 UUID:755881A5-1736-4CAB-A74E-422CE2738423

小米手机IMEI:863020013056431

华为手机IMEI:865744020052795

一加手机的IMEI:
锤子手机的IMEI:

中兴手机的IMEI:867354001422255,861603000178797,866335010729773,862130029790542,865310617170964,868447013461623

HTC手机的IMEI:357568014194505,359788040956007,354974045750138,352666046665008

360手机的IMEI:

public String getAndroidIMEI() {
        String imeiArray[] = {"862583027", "862965033", "349945661", "860988030", "353384099", "865176032", "868602044", "863020013", "865744020"
                , "351939054", "352993058", "356205059", "357445052", "867354001", "861603000", "866335010", "862130029", "865310617", "357568014"
                , "359788040", "354974045", "352666046", "868447013"};
        int index = (int) (Math.random() * imeiArray.length);
        String random = imeiArray[index];
        String sixNum = (int) ((Math.random() * 9 + 1) * 100000) + "";
        return random + sixNum;
    }

public String getiOSuuid() {
        String origin = "755881A517364CABA74E422CE2";
        String sixNum = (int) ((Math.random() * 9 + 1) * 100000) + "";
        return origin + sixNum;
    }

手机的CPU架构简述及SO兼容(Android/iOS)及手机硬件等,手机IMEI相关推荐

  1. Android CPU架构及so库兼容问题总结

    CPU架构分类 armeabi armeabi-v7a(目前大部分机器) arm64-v8a (高端机型) x86 x86_64 mips mips64 Android手机大部分采用的是ARM架构的C ...

  2. 如何查询当前手机的cpu架构,so库导入工程又出异常了?

    如何查询当前手机的cpu架构,so库导入工程又出异常了? 参考文章: (1)如何查询当前手机的cpu架构,so库导入工程又出异常了? (2)https://www.cnblogs.com/woaixi ...

  3. Android不同CPU架构下so文件兼容问题总结

    一.Android 设备的CPU类型通常分以下几种 armeabiv-v7a: 第7代及以上的 ARM 处理器,目前主流版本,大部分Android设备都使用它. arm64-v8a: 第8代.64位A ...

  4. 如何查看手机的CPU架构

    几款专门获取手机设备信息的App: 通过这些App,你能看到你的安卓手机很多核心底层的信息,对于开发者而言,这些信息对于开发App时的写代码或者debug何其重要! 这些App都能查看像CPU架构.G ...

  5. android ios 用户比例,CNNIC:手机游戏iOS和Android用户研究

    日前CNNIC发布的<2013年度中国手机游戏用户调研报告>中针对IOS和安卓系统用户进行了分析,分析发现,IOS和安卓手机系统游戏用户属性存在一定差异,IOS的女性用户比例高于安卓用户: ...

  6. uniapp 手写canvas海报(兼容android/ios/h5/微信小程序)

    先上成功图 1.在父组件里面定义弹出层,并且调用子组件制作海报的方法 2.点击显示二维码调用子组件海报方法 showPoster(customerPostId) {             // co ...

  7. android studio运行手机时出错怎么解决_小程序 android ios h5解决方案

    你现在开发android,ios,小程序用什么工具,怎么开发的?还在单个端的开发吗?今天我们主要讨论的是一次开发多端使用的技术,也是这两年比较流行的开发方向.现在的终端太多了,app两个端androi ...

  8. Android手机cpu架构详解

    最近学习IDA动态调试so文件,过程中必须保证android_server和IDA版本和位数一致,也涉及手机运行cpu的位数,即32位还是64位,也因此牵涉到手机的cpu架构,简单做下总结. 查看手机 ...

  9. Android打包的CPU架构

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接: https://blog.csdn.net/u012400885/article/ ...

最新文章

  1. turtlebot3安装遇到的问题总结
  2. nodejs源码—初始化
  3. JavaScript的文档窗口事件
  4. 2021第一季度云智能生态技术服务能力盘点
  5. java jdbc is一个会话_java_JdbcUtilis_单实例
  6. 元素(HYSBZ-2460)
  7. idea 设置默认 jdk
  8. 获取网络时间(国家标准时间)
  9. 公开课丨重中之重!Web安全漏洞与防御
  10. linux分析rna-seq,RNA-seq 分析流程(一)linux部分
  11. 洛谷 P4704 太极剑
  12. **蒙特卡洛计算定积分VC++**
  13. vue项目storage本地存储
  14. linux中.la是什么文件,linux下的so、o、lo、a、la文件有什么区别?
  15. 解决办法:.bat文件运行不了,管理员运行后闪退
  16. Java进行图像缩放
  17. Tita :OKR落地推行的具体方法
  18. 功能安全-ISO26262标准简介
  19. 怎么清洁个人台式计算机,如何清理台式电脑
  20. 2019.3.8 提高B组 T2 JZOJ 3055 比赛

热门文章

  1. TCP、IP 、HTTP——深入学习TCP协议
  2. 人工智能在中国的崛起:中国将再次领导世界?
  3. 小白初学游戏建模怎么入门,该如何学习?十年建模师为你解答
  4. 数据治理认证系列——DAMA之CDGP认证攻略
  5. 面试官:什么是深拷贝和浅拷贝?
  6. 三大运营商5G专网白皮书(附下载)
  7. Synchronied详解
  8. solidworks2018已停止工作_昨天开始使用lr controller 已停止工作问题
  9. 使用Pandas的resample函数处理时间序列数据的技巧
  10. 加速乐-AAencode-ob混淆