編譯Android原始碼

sydmobile發表於2017-11-07
版權宣告:本文為sydMobile原創文章,轉載請務必註明出處! https://blog.csdn.net/sydMobile/article/details/78469585

這篇文章完全是個人的筆記,所以內容可能講的不清楚,不一定適合閱讀學習。

這裡單獨提出來,所謂的Android原始碼指的是在AOSP下載的Android原始碼而不是我們開發中在sdk中的source。利用Android原始碼我們是可以自己來編譯我們自己的Android系統和開發所需的SDK。

編譯原始碼的環境: ubuntu12.04
這裡的原始碼是在AOSP下載的Android原始碼,原始碼的大小壓縮包有7個多G,解壓後 19個G
編譯原始碼後得到Android系統和sdk後檔案的大小,Android 4.4達到了41個G
編譯原始碼會得帶system.img,這個過程會消耗大量的時間,這個編譯後完成的system.img就是我們的Android系統,然後我們就可以執行模擬器了,這個模擬器就是搭乘的這個系統,當然這個系統也可以被裝到我們的手機上面(這就是刷機),核心如果沒有編譯的話預設使用的是原始碼中的核心,編譯kernel是需要單獨編譯了,有單獨的核心原始碼,下載地址:https://android.googlesource.com/kernel/ 其實我們國內常用的Android系統就是這樣編譯的,不過在編譯的過程中修改了一些內容,這就是Android系統級別的編譯開發了。
Android之所以被稱為開源就是它的原始碼你可以隨便下載,如果你有能力的話就可以利用這些原始碼開發一款你的Android系統。
同樣我們開發使用的SDK也是可以通過原始碼編譯得到的,其實我們所使用的SDK,SDK包含了API還有其他的許多開發中的工具,比如adb,aapt等等很多,而API是應用程式介面 Application Programming Interface,就是軟體系統不同組成部分的銜接的約定,拿Android來舉例子了。Android的API就是我們
應用層開發的時候所呼叫的那些方法和類,通過這些方法和類來和下一層交流()溝通。都是通過這裡的原始碼然後編譯的,包括我們手機上面的Android系統,也是在這裡編譯的,然後加了一些開發,這樣就開發出了屬於自己的ROM,比如國內的小米、華為的系統。這就是Android的開源性,都可以以這個為基礎開發屬於自己的Android系統。

參考:http://www.jianshu.com/p/6d97b4a10b18


相關文章