android物联网开发技术架构,Android 相关七种 CPU 架构适配,android七种
Android 相關七種 CPU 架構適配,android七種
轉載請注明出處:http://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 基本上就沒見過。
從類型來分,有32位和64位,名字中沒有64的就是32位的了。
正常來說只使用 armeabi-v7a 就可以適配基本所有手機了,因為現在手機基本上都支持這種CPU架構,但是對于同時也能支持 arm64-v8a 的手機來說,性能上就不如使用對應 CPU 架構的快了,畢竟是32位和64位的區別,值得一提的是,arm 系列本身是沒有64位,而是 intel 的x86_64先出現的,之后 arm 收購了 MIPS64,基于 MIPS64 改良出 arm64-v8a,所以也能理解為什么 MIPS 幾乎沒有,而另外,arm64-v8a 的 CPU 架構上也能運行 armeabi-v7a,為什么呢?不是64位上運行32位,而是 arm64-v8a 上本身搭載了 armeabi-v7a,所以在 arm64-v8a 上運行 armeabi-v7a 是使用32位處理的,沒毛病。
如果應用中有不止一個 so,那就要注意了,如果這時你一個 so 同時支持了 armeabi-v7a 和arm64-v8a,而另一個 so 只支持了一種,那可能會運行有問題,這時要么另一個 so 也支持兩種,要么把第一個 so 刪掉對應目錄,只支持相同的一種。
在提供支持多個 CPU 架構的 SDK 時,可以同時提供多個目錄的 so,雖然此時 SDK 相對較大,但是被編譯的 so 還是以你在 gradle 里設置的支持的 ndk 為準:
ndk {
abiFilters ‘armeabi-v7a’ // , ‘arm64-v8a’, ‘x86’, ‘x86_64’
}
查看設備支持的 CPU 架構或者 APP 提供的 CPU 架構可以使用 Native Libs Monitor。
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
http://www.dengb.com/wlwjskf/1281012.htmlwww.dengb.comtruehttp://www.dengb.com/wlwjskf/1281012.htmlTechArticleAndroid 相關七種 CPU 架構適配,android七種 轉載請注明出處:http://blog.csdn.net/kester_/article/details/71055901 NDK 開發時會涉及到 CPU 架構的適配,不...
總結
以上是生活随笔為你收集整理的android物联网开发技术架构,Android 相关七种 CPU 架构适配,android七种的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android studio .so混淆
- 下一篇: textarea 转换 html,tex