zoukankan      html  css  js  c++  java
  • 关于Android手机CPU不同架构的问题

    1、共有7种架构  

    1. armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
    2. arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
    3. armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。万金油
    4. x86: 平板、模拟器用得比较多。
    5. x86_64: 64位的平板。
    6. mips64:很少,可忽略
    7. mips:很少,可忽略
    • 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;

    2、兼容性注意

      如果设备室arm64-v8a的,那么设备先找这个文件夹,如果没有这个文件夹,再去找armeabi-v7a,然后是armeabi。如果有这个文件夹,但没有对应的so文件,那么将直接抛异常。

      如果引用了不同第三方平台的so文件,并且他们所支持的平台又有冲突那么可以abiFilters指定用哪个架构的so文件,其他平台的就会被忽略。

      第三方aar文件,如果这个sdk对abi的支持比较全,可能会包含armeabi、armeabi-v7a、x86、arm64-v8a、x86_64五种abi,而你应用的其它so只支持armeabi、armeabi-v7a、x86三种,直接引用sdk的aar,会自动编译出支持5种abi的包。但是应用的其它so缺少对其它两种abi的支持,那么如果应用运行于arm64-v8a、x86_64为首选abi的设备上时,就会==crash==了哦。

    3、Genymotion中arm的使用

      需要安装对应的arm-translation文件。可参考文章安装,win10可能会安装失败。

    4、参考地址

      https://zhuanlan.zhihu.com/p/23102158

      http://blog.coderclock.com/2017/05/07/android/Android-so-files-compatibility-and-adaptation/

      https://www.diycode.cc/topics/691

      https://www.cnblogs.com/ring1992/p/7248585.html

  • 相关阅读:
    对Promise的研究4
    对Promise的研究3
    对Promise的研究2
    对promise的研究1
    数据结构_栈
    数据结构_队列(普通队列和双端队列)
    数据结构_链表(单链表,单向循环链表,双链表)
    数据库进行参数化,查询一行或多行语句
    数据库基础应用
    选择排序
  • 原文地址:https://www.cnblogs.com/zhaoyihao/p/10037938.html
Copyright © 2011-2022 走看看