android libs庫(kù)中的armeabi-v7a玖喘,armeabi和x86

1.區(qū)別:

?????????這三者都表示的是CPU類型,早期的Android系統(tǒng)幾乎只支持ARMv5的CPU架構(gòu)蘑志,但是現(xiàn)在已經(jīng)有7種了累奈。ARMv5,ARMv7 (從2010年起)急但,x86 (從2011年起)澎媒,MIPS (從2012年起),ARMv8羊始,MIPS64和x86_64 (從2014年起)旱幼,每一種都關(guān)聯(lián)著一個(gè)相應(yīng)的ABI(應(yīng)用程序二進(jìn)制接口(ApplicationBinary Interface)定義了二進(jìn)制文件(尤其是.so文件)如何運(yùn)行在相應(yīng)的系統(tǒng)平臺(tái)上,從使用的指令集突委,內(nèi)存對(duì)齊到可用的系統(tǒng)函數(shù)庫(kù))柏卤。Android現(xiàn)在的主流CPU是armeabi-v7a。armeabi-v7a是針對(duì)有浮點(diǎn)運(yùn)算或高級(jí)擴(kuò)展功能的ARMv7CPU匀油。


2.Android設(shè)備如何加載.so文件:

? ? ? ? ? ?當(dāng)一個(gè)應(yīng)用安裝在設(shè)備上缘缚,只有該設(shè)備支持的CPU架構(gòu)對(duì)應(yīng)的.so文件會(huì)被安裝。不同CPU架構(gòu)的Android手機(jī)加載時(shí)會(huì)在libs下找自己對(duì)應(yīng)的目錄敌蚜,從對(duì)應(yīng)的目錄下尋找需要的.so文件桥滨;如果沒(méi)有對(duì)應(yīng)的目錄,就會(huì)去armeabi下去尋找,如果已經(jīng)有對(duì)應(yīng)的目錄齐媒,但是如果沒(méi)有找到對(duì)應(yīng)的.so文件蒲每,也不會(huì)去armeabi下去尋找了。

? ? ? ? 以x86設(shè)備為例喻括,x86設(shè)備會(huì)在項(xiàng)目中的 libs文件夾尋找是否含有x86文件夾邀杏,如果含有x86文件夾,則默認(rèn)為該項(xiàng)目有x86對(duì)應(yīng)的so可運(yùn)行文件唬血,只有x86文件夾而文件夾下沒(méi)有so望蜡,程序運(yùn)行也是會(huì)出現(xiàn)findlibrary returned null的錯(cuò)誤的;如果工程本身不含有x86文件夾拷恨,則會(huì)尋找armeabi或者armeabi-v7a文件夾脖律,兼容運(yùn)行。以armeabi-v7a設(shè)備為例腕侄,該Android設(shè)備當(dāng)然優(yōu)先尋找libs目錄下的armeabi-v7a文件夾小泉,同樣,如果只有armeabi-v7a文件夾而沒(méi)有 so也是會(huì)報(bào)錯(cuò)的兜挨;如果找不到armeabi-v7a文件夾膏孟,則尋找armeabi文件夾,兼容運(yùn)行該文件夾下的so拌汇,但是不能兼容運(yùn)行x86的so。所以項(xiàng)目中如果只含有x86的so弊决,在armeabi和armeabi-v7a也是無(wú)法運(yùn)行的噪舀。以上就是不同CPU架構(gòu)運(yùn)行時(shí)加載so的策略。


3.適配不同的平臺(tái)

目前主流的Android設(shè)備是armeabi-v7a架構(gòu)的飘诗,然后就是x86和armeabi了与倡。如果同時(shí)包含了 armeabi,armeabi-v7a和x86昆稿,所有設(shè)備都可以運(yùn)行纺座,程序在運(yùn)行的時(shí)候去加載不同平臺(tái)對(duì)應(yīng)的so,這是較為完美的一種解決方案溉潭,但是同時(shí)也會(huì)導(dǎo)致包變大净响。

armeabi-v7a是可以兼容armeabi的,而v7a的CPU支持硬件浮點(diǎn)運(yùn)算喳瓣,目前絕大對(duì)數(shù)設(shè)備已經(jīng)是armeabi-v7a了馋贤,所以為了性能上的更優(yōu),就不要為了兼容放到armeabi下了畏陕。x86也是可以兼容armeabi平臺(tái)運(yùn)行的配乓,另外需要指出的是,打出包的x86的so,總會(huì)比armeabi平臺(tái)的體積更小犹芹,對(duì)于性能有潔癖的童鞋們崎页,還是建議在打包so的時(shí)候支持x86。


4.第三方平臺(tái)的.so庫(kù)怎么處理

?????????關(guān)于.so文件之前有一個(gè)坑腰埂,svn會(huì)把提交的so文件過(guò)濾掉实昨,在接第三方SDK的時(shí)候通過(guò)SVN更新了文檔,但是沒(méi)有注意到少了幾個(gè)so文件盐固,浪費(fèi)了一天的時(shí)間去找原因荒给,SVN如何提交so文件(http://blog.csdn.net/wds1181977/article/details/40373373)。第三方的類庫(kù)只提供了armeabi下的.so文件刁卜,我們項(xiàng)目里適配了armeabi-v7a和x86志电,如果不在對(duì)應(yīng)的文件下放對(duì)應(yīng)的.so文件,就可能導(dǎo)致某些Android設(shè)備會(huì)出一些問(wèn)題蛔趴,我們可以復(fù)制armeabi下得.so文件到不同的文件夾下挑辆。如果第三方提供了不同平臺(tái)的.so文件,則復(fù)制不同平臺(tái)的.so文件到項(xiàng)目中對(duì)應(yīng)的文件夾下即可孝情。


以下內(nèi)容轉(zhuǎn)載于:http://blog.csdn.net/liumou111/article/details/52949156

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鱼蝉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子箫荡,更是在濱河造成了極大的恐慌魁亦,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羔挡,死亡現(xiàn)場(chǎng)離奇詭異洁奈,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)绞灼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門利术,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人低矮,你說(shuō)我怎么就攤上這事印叁。” “怎么了军掂?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵轮蜕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我良姆,道長(zhǎng)肠虽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任玛追,我火速辦了婚禮税课,結(jié)果婚禮上闲延,老公的妹妹穿的比我還像新娘。我一直安慰自己韩玩,他們只是感情好垒玲,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著找颓,像睡著了一般合愈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上击狮,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天佛析,我揣著相機(jī)與錄音,去河邊找鬼彪蓬。 笑死寸莫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的档冬。 我是一名探鬼主播膘茎,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼酷誓!你這毒婦竟也來(lái)了披坏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤盐数,失蹤者是張志新(化名)和其女友劉穎棒拂,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娘扩,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡着茸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了琐旁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡猜绣,死狀恐怖灰殴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情掰邢,我是刑警寧澤牺陶,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站辣之,受9級(jí)特大地震影響掰伸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怀估,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一狮鸭、第九天 我趴在偏房一處隱蔽的房頂上張望合搅。 院中可真熱鬧,春花似錦歧蕉、人聲如沸灾部。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赌髓。三九已至,卻和暖如春催跪,著一層夾襖步出監(jiān)牢的瞬間锁蠕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工懊蒸, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荣倾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓榛鼎,卻偏偏與公主長(zhǎng)得像逃呼,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子者娱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345