armeabi与armeabi-v7a的区别,绝对干货!
1、手機cpu架構。
講到armeabi就不得不講手機cpu了。電腦有電腦的cpu,手機也有手機的cpu。cpu有廠商屬性,也有架構屬性,架構的話自己簡單地理解就是它的內部模塊的組成結構。
其中arm架構的手機cpu占市場的大部分,這也是今天的重點。但arm架構的發展歷史悠久,也有很多不同的版本。
2、前面講了cpu架構,為下面的講述做了一個技術背景的鋪墊。
我們在開發Android項目的時候,比如使用高德地圖導航或者3d地圖的時候就會使用到.so庫文件,它們保存在armeabi和armeabi-v7a或arm64-v8a等目錄下,這有什么作用呢?
其實這是給app運行時讀取的幾個目錄,但會根據手機cpu架構類型只從其中一個文件夾讀取,有點類似values和values-21的作用,但是與它們又有點不同。
后者的規則是:如果手機是21以上的會首先在values-21文件里面查找樣式等,如果查找不到才去values文件找;如果手機是21以下的就直接在values文件下找。
前者的規則是:根據cpu架構類型去app的libs里面匹配到對應的目錄比如armeabi或者armeabi-v7a,然后就加載這個目錄下的.so庫;
如果在匹配到的目錄下沒有對應的庫也不會去別的目錄下加載;
但是armeabi目錄可以匹配所有的arm架構的cpu,意思是指所有的arm架構的cpu的安卓手機如果沒有找到最優的對應的目錄,則會去匹配armeabi目錄。
我的推測是arm架構的cpu是向下兼容的,即保留之前版本的功能,而armeabi目錄是匹配低版本armv5的,所以高版本的arm架構的cpu可以讀取armeabi目錄下的.so庫文件;查過資料會發現低版本的arm架構cpu支持軟浮點運算而高版本的支持硬件浮點運算,這是他們的區別之一。
3、最近在開發高德導航功能,官方文檔提示此功能不支持armeabi-v7a,根據以上的講述:導航功能并沒有為armeabi-v7a對應的cpu設計一套.so庫文件,所以只能使用armeabi目錄下的庫文件,所以要刪掉armeabi-v7a目錄。
總結
以上是生活随笔為你收集整理的armeabi与armeabi-v7a的区别,绝对干货!的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: LwIP编译方法以及选项说明
- 下一篇: C#微信公众号开发系列教程二(新手接入指
