前序:

  嫌無(wú)聊的請(qǐng)?zhí)^(guò)。上次發(fā)博文是同年8月,時(shí)光荏苒,空閑時(shí)間少,現(xiàn)在都接近年關(guān)了,其實(shí)這4個(gè)月學(xué)了很多,接觸了IM(非第三方),學(xué)習(xí)了 golang 并采用它成功完成仿朋友圈頁(yè)面的服務(wù)端api,等等..等等..,由于這個(gè)問(wèn)題的確是業(yè)界超級(jí)"毒瘤",趁午休時(shí)間,盡我程序員的"干貨"思維,少?gòu)U話,盡通俗。

    碼字發(fā)文。

 

一,問(wèn)題描述

  先簡(jiǎn)單闡述下幾個(gè)概念,這些不是重點(diǎn)。

  1,Android 編譯時(shí)候的 api 版本,指的是你要生成的這個(gè) apk 所依賴的 sdk 版本,例如 api 23 即是 Android 6.0 ;

 

  2,.so 動(dòng)態(tài)鏈接庫(kù),為 Linux 下的庫(kù)文件,Windows 是 .dll,Android 是基于 Linux 內(nèi)核的,所以使用的是 .so,在安卓上面,一般由 C/C++ 語(yǔ)言進(jìn)行 Jni 編程后,采用 NDK 工具編譯后所生成的,可以參考下我之前的一篇教程博文:http://www.cnblogs.com/linguanh/p/4624768.html

 

  3,.so的作用,主要是提供系統(tǒng)底層函數(shù),供應(yīng)用層使用。不用它行不?可以,在Android已經(jīng)提供了的情況下,你不需要再自己添加,例如一個(gè) View 的繪制,里面都有很多 Native 關(guān)鍵詞的函數(shù),這個(gè)就是底層函數(shù),Android api 對(duì)應(yīng)的是它已經(jīng)提供了。那么如果,你老板要去實(shí)現(xiàn),語(yǔ)音,圖像,視頻處理等系統(tǒng)沒(méi)有的功能,你就只能自己寫 .so 來(lái)供調(diào)用了。

  問(wèn)題來(lái)了: