android的armeabi和armeabi-v7a

在ANE中如果SDK調用了so庫,則需要把so庫放到ANE下Android-ARM/lib/armeabi (調試模式)或者 armeabi-v7a(發行模式)下。

可以貼個ADT代碼說明問題:

//m_configType.equals("apk") 是否是發行模式

//(hasCaptiveRuntime() 是否帶運行時

if ((m_configType.equals("apk")) || (hasCaptiveRuntime()))

{

destApkDirectory = "lib/armeabi-v7a/";

}

else

{

destApkDirectory = "lib/armeabi/";

}

而這個armeabi和armeabi-v7a究竟是什么意思?

有什么深意么?

為什么調試模式和發行模式adobe會選擇不同的文件夾?

我在這篇記錄下我對于這個小問題的理解。

armeabi與armeabi-v7a表示支持不同的CPU類型

armeabi是指的該so庫用于ARM的通用CPU,而v7a的CPU支持硬件浮點運算。因此armeabi通用性強,但速度慢,而v7a能充分發揮v7a CPU的能力,在AIR打包APK調試模式adobe選擇的是通用性強的armeabi模式。

android支持不同CPU的深層含義

首先從硬件支持方便來看,我們的adnroid設備目前為止大部分都是支持ARM芯片,(當然市面上此刻最新的android機器還支持intel等另外的幾個芯片,例如intel最新的凌動項目芯片,就獲得了android4.1的青睞)。從android版本與支持ARM硬件編碼的程度來看:

起初android1.6:只支持armv4與armv5te指令集。

到了android2.0:增加了支持arm-vfp,armv6,armv6t2指令集。

到了android2.2:增加支持armv7-a指令集。

所以armeabi-v7a 應該是與AIR限定支持android2.2以上的條件有關。android2.2以上能讓硬件發揮更大的作用。

我項目中使用armeabi還是armeabi-v7a

對于AIR項目來說性能問題是最大的瓶頸,能優化一點就一點,所以如果接平臺方SDK或者寫ANE的時候使用到SO庫,個人推薦全部放到armeabi-v7a下,而不要為了兼容放到armeabi。

-EOF-

在我們android APK的根目錄有一個 libs文件夾,此文件夾下包含了armeabi 和armeabi-v7a兩個文件夾,我們的c代碼編譯成的本地庫(各種.so)就會放在這兩個文件夾其中的一個。那armeabi-v7a 與 armeabi有什么區別,都是什么意思呢?

armeabi和armeabi-v7a是表示cpu的類型,我們知道一般的手機或平板都是用arm的cpu(mips的就悲催的被忽視了),不同的cpu的特性不一樣,armeabi就是針對普通的或舊的arm v5 cpu,armeabi-v7a是針對有浮點運算或高級擴展功能的arm v7 cpu。

在android.mk里可配置以下宏:

TARGET_CPU_API := armeabi

APP_ABI := armeabi

當你編譯時出現一些鏈接動態庫的undefine錯誤,或你的apk運行時出現裝載.so動態庫錯誤時,不妨看一下這個cpu類型的配置是否有誤。

========================================================================================================

現在還有x86的了,其實armeabi 、armeabi-v7a 和x86是編譯 NDK 庫時,可以使用三種支持的應用二進制接口(ABI):

‘armeabi’ – 默認選項,將創建以基于 ARM* v5TE 的設備為目標的庫。 具有這種目標的浮點運算使用軟件浮點運算。 使用此 ABI 創建的二進制代碼將可以在所有 ARM* 設備上運行。

‘armeabi-v7a’ – 創建支持基于 ARM* v7 的設備的庫,并將使用硬件 FPU 指令。

‘x86’ – 生成的二進制代碼可支持包含基于硬件的浮點運算的 IA-32 指令集。

==========================================================================================================

什么是 NEON?

NEON* 是一種 ARM* 技術,主要用于多媒體(智能手機和高清電視等)應用。 ARM* 表示其基于 128 位 SIMD 引擎的技術 – ARM* Cortex*(一種串行擴展)—可提供比 ARM* v5 架構至少高 3 倍的性能,以及比 ARM* v6 至少高 2 倍的性能。 如欲了解有關此技術的詳細信息,以深入了解 NEON 及其它性能考慮,請訪問以下網址:http://www.arm.com/products/processors/technologies/neon.php

此處的關鍵理念為,各寄存器被“堆積”成一個矢量,其中每一個寄存器均為一個元素,并與其它元素的數據類型相匹配。 在此基礎之上,運算在管道內執行,因而這一方法被稱作 Packed SIMD。

SSE: 英特爾推出的類似 NEON 的工具

SSE 指面向英特爾架構(IA)的SIMD 流指令擴展。 目前,英特爾? 凌動? 最高支持 SSSE3(補充 SIMD 流指令擴展 3)。 凌動? 暫不支持 SSE4.x。后者也是一個 128 位引擎,用于打包浮點數據。 這一執行模式開始于 MMX 技術。SSx 是較新的技術,取代了 MMX。。 如欲了解詳細信息,請參閱英特爾《IA-32 和 IA-64 軟件開發人員手冊》中的“第一卷: 基礎架構”部分。網址為:http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html。 目前,SSE 概述部分在 5.5 節。 它提供 SSE、SSE2、SSE3 和 SSSE3 的操作碼。注意,數據運算通常會涉及到處理基于精度的打包浮點數值;并且需要在 XMM 寄存器之間,或在這些寄存器與內存之間批量傳輸數據。 XMM 寄存器主要用于取代 MMX 寄存器。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,333評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,491評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,263評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,946評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,708評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,186評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,409評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,939評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,774評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,976評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,641評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,872評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,650評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,958評論 2 373

推薦閱讀更多精彩內容