㈠ Android APK 32位和64位 的区别
32位 对应的就是32位的操作系统,那么 64位 就是对应64位的操作系统。
armeabi: armv5架构和armv6架构(32位)
armeabi-v7a:armv7架构(32位)
armeabi-v8a:armv8架构(64位)
x86:x86架构(32位)
x86_64:x86_64架构(64位)
要确定应用是否包含 64位 库,最简单的方法就是检查APK文件的结构。在编译时,APK会与应用所需的所有原生库打包在一起。原生库会根据 ABI 而存储在不同的文件夹中。应用无需支持所有的64位架构,但对于支持的每种原生 32位架构,则应用都必须包含相应的 64位 架构
第一步:在AndroidStudio中检测APK
查看 lib 目录下是否有支持64位架构的 .so 文件。如果没有支持 32位 或者 64位 的就在 build.gradle — defaultConfig 中配置一下添加所需要的库,重新打包。
感觉有用的同学,动动小手指给个赞,码字不易。
㈡ 安卓NEXUS6手机下载软件ARM64 X86 ARM这些都是什么意思好复杂
arm:ARM处理器
arm64:ARM 64位处理器
x86:x86架构
㈢ 平板 安卓系统的 是X86架构好 还是ARM架构好
平板点最好看整体配置,这两种架构来讲,我个戚携人更倾向X86架构的,因为那是Intel的老牌子。至于苹果选择ARM,我觉得是苹果的软件能力不需要太好的硬件以节约生产成本。
本人使用华硕ME302C平板电脑,因特尔处理器。据说速度和ipad4不相上下可是IPAD4用的是A6处理器,它的主频比我的低得多。所以我认为,安卓系统还是选择因特尔的X86.
同时我给您一点建议,您的安卓系统如果不想root的话推荐2G或以上内存,否则原装软件会高肆伏占用很大内存,导致平板电脑卡顿现雹洞象。
Enjoy it !
㈣ 如何查看手机的cpu类型是x86还是arm
您好,很高兴为您解答。
首先您可以先查询一下自己的手机型号使用的是什么型号的cpu,现在市面上高通的cpu使用的是自己的内核,而华为的海思,联发科,猎户座等等使用的是arm的内核,用x86内核的手机cpu已经很少见了,但是也不一定没有。
您可以下载一个安兔兔评测,查看硬件配置,查看cpu可以看到架构上的显示,就知道自己的cpu是什么类型了。
希望可以帮助到您。
㈤ ARM 和 x86 架构相比,各自的发展前景怎么样
个人感觉,虽然win8宣布支派困持ARM架构,x86依然会把持PC绝大部分份额。
性能差距实在尘拿念有点大。ARM要在性能上接近x86,频率必须比x86处理器高很多,但是频率一高能耗就疯涨,抵消了ARM的优点。更不要提Intel的制造工艺比那些生敏姿产ARM处理器的代工厂(如台积电和三星)领先一代。
简介
更重要的,在PC上支持ARM的应用程序太少。以ARM的Win8举例,几乎所有的Windows程序都要为了ARM架构重新编译才能使用,这个工作量又有多大。
同样的,虽然,Android宣布支持x86架构(Intel的Atom),ARM依然会继续占领移动设备大部分领地。主要原因还是功耗相对差。移动设备重视的功耗而不是性能,因而x86不占优势。
㈥ Android中的armeabi、armeabi-v7a、arm64-v8a及x86的详解
一. lib和libs
放在lib中的是被reference的,放在libs中的是被include的。
放在libs中的文件会自动被编辑器所include。所以不要把API放到libs里去。
lib的内容是不会被打包到APK中,libs中的内容是会被打包进APK中
二. .so库
NDK编译出来的动态链接库。
一些重要的加密算法或者核心协议一般都用c写然后给java调用。这样可以避免反编译后查看到应用的源码。
三. .so库该如何存放
放置 .so 文件的正确姿势其实就两句话:
• 为了减小 apk 体积,只保留 armeabi 和 armeabi-v7a 两个文件夹,并保证这两个文件夹中 .so 数量一致
• 对只提供 armeabi 版本的第三方 .so,原样复制一份到 armeabi-v7a 文件夹
存放so的规则:
你应该尽可能的提供专为每个ABI优化过的.so文件,但要么全部支持,要么都不支持:你不应该混合着使用。你应该为每个ABI目录提供对应的.so文件。
四. libs下armeabi等的作用是什么
存放.so库,主要针对不同的设备兼容,也可以说是专门针对不同Android手机下CPU架构的兼容。
Android 设备的CPU类型(通常称为”ABIs”)
早期的Android系统几乎只支持ARMv5的CPU架构,后面发展到支持七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应的ABI。
应用程序二进制接口(Application Binary Interface)定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库。在Android 系统上,每一个CPU架构对应一个ABI:armeabi,armeabi-v7a,x86,mips,arm64- v8a,mips64,x86_64。
armeabi-v7a: 第7代及以上的 ARM 处理器。2011年以后生产的大部分Android设备都使用它.
arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
x86: 平板、模拟器用得比较多。
x86_64: 64位的平板。
如果项目只包含了 armeabi,那么在所有Android设备都可以运行;
如果项目只包含了 armeabi-v7a,除armeabi架构的设备外都可以运行;
如果项目只包含了 x86,那么armeabi架构和armeabi-v7a的Android设备是无法运行的; 如果同时包含了 armeabi, armeabi-v7a和x86,所有设备都可以运行,程序在运行的时候去加载不同平台对应的so,这是较为完美的一种解决方案,同时也会导致包变大。
最后,如果我们只想支持armeabi-v7a,那么需要在gradle中配置
因为默认情况下,打包后会自动生成armeabi 到 x86的所有文件夹。这就有可能导致一些x86的设备因为在x86文件夹下找不到so文件而崩溃。
㈦ Android 的ARM架构和X86架构
Android开发中,在打包发布应用时会选择应用适配的cpu架构平台,在引用第三方库时也遇到根据不同cpu架构引入相应的so包。Android主要包括一下cpu架构:
在Android系统上,每一个CPU架构对应一个ABI:
ABI是Application Binary Interface的缩写,常表示两个程序模块之间的接口,且其中一个模块常为机器码级别的library或操作系统。它定义了函数库的调用、应用的二进制文件(尤其是.so)如何运行在相应的系统平台上等细节。其中mips及mips64极少用于手机,出发点是高性能,主要用于路由器、猫。
从CPU发明到现在,有非常多种架构,从我们熟悉的X86,ARM,到不太熟悉的MIPS,IA64,它们之间的差距都非常大。但是如果从最基本的逻辑角度来分类的话,它们可以被分为两大类,即所谓的“复杂指令集(CISC)”与“精简指令集(RISC)”系统。
Intel和ARM处理器的第一个区别是,前者使用复杂指令集(CISC),后者使用精简指令集(RISC)。属于这两种类中的各种架构之间最大的区别,在于它们的设计者考虑问题方式的不同。
ARM架构是一个32位精简指令集RISC(Reced Instruction Set Computing)处理器架构,其广泛地使用在许多嵌入式系统设计。但在其他领域上也有很多作为,由于节能的特点,ARM处理器非常适用于移动通信领域,匹配其主要设计目标为低成本、高性能、低耗电的特性。
ARM的优势不在于性能强大而在于效率,ARM采用RISC流水线指令集,在完成综合性工作方面根本就处于劣势,而在一些任务相对固定的应用场合其优势就能发挥得淋漓尽致。ARM结构的电脑是通过专用的数据接口使CPU与数据存储设备进行连接,所以ARM的存储、内存等性能扩展难以进行(一般在产品设计时已经定好其内存及数据存储的容量),所以采用ARM结构的系统,一般不考虑扩展。基本奉行“够用就好”的原则。
x86 架构是一个复杂指令集CISC(Complex Instruction Set Computer)处理器架构。X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多、强得多。X86的CPU随便就是1G以上、双核、四核。X86结构的电脑采用“桥”的方式与扩展设备(如:硬盘、内存等)进行连接,而且x86结构的电脑出现了近30年,其配套扩展的设备种类多、价格也比较便宜,所以x86结构的电脑能很容易进行性能扩展,如增加内存、硬盘等。
㈧ pc的安卓模拟器怎么都是x86的,怎么没有正常设备的arm架构的
x86运行快,arm的架构速度逗渣很慢。你用过eclipse上模拟器就知余大道了,run一个竖指竖hello world上去都要几分钟