編譯Android原始碼
這篇文章完全是個人的筆記,所以內容可能講的不清楚,不一定適合閱讀學習。
這裡單獨提出來,所謂的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系統。
相關文章
- Android原始碼編譯--整理Android原始碼編譯
- Android原始碼閱讀-編譯8.0原始碼Android原始碼編譯
- MacOS X 編譯Android原始碼Mac編譯Android原始碼
- Android FrameWork 之原始碼編譯AndroidFramework原始碼編譯
- Android 原始碼中的編譯命令Android原始碼編譯
- Android原始碼編譯整理總結Android原始碼編譯
- android 反編譯APK取原始碼。Android編譯APK原始碼
- 【轉】編譯Android系統原始碼和核心原始碼編譯Android原始碼
- Android 11 原始碼下載+編譯教程Android原始碼編譯
- 記一次編譯Android原始碼編譯Android原始碼
- Android Apk反編譯得到Java原始碼AndroidAPK編譯Java原始碼
- Mac Android8.0原始碼編譯筆記MacAndroid原始碼編譯筆記
- cubie A20 android原始碼編譯 小記Android原始碼編譯
- Android高版本P/Q/R原始碼編譯指南Android原始碼編譯
- Ubuntu 15.04編譯Android 6.0.1原始碼-Nexus5真機編譯Ubuntu編譯Android原始碼
- Android 原始碼的下載和編譯環境的安裝及編譯Android原始碼編譯
- 原始碼編譯Vim 8原始碼編譯
- MongoDB(0)- 原始碼編譯MongoDB原始碼編譯
- 編譯hibernate原始碼編譯原始碼
- Docker編譯Azerothcore原始碼Docker編譯原始碼
- Spring原始碼編譯Spring原始碼編譯
- Android學習系列(38)--Android原始碼下載和編譯Android原始碼編譯
- Ubuntu下Android原始碼以及核心下載與編譯UbuntuAndroid原始碼編譯
- 在Ubuntu9.10下編譯Android原始碼薦Ubuntu編譯Android原始碼
- 編譯FFMPEG原始碼的指令碼編寫案例編譯原始碼指令碼
- WebRTC研究 (一) 編譯原始碼Web編譯原始碼
- 原始碼編譯 apache2.4原始碼編譯Apache
- Kubernetes原始碼編譯原始碼編譯
- Swift原始碼專案編譯Swift原始碼編譯
- 龍芯原始碼編譯MySQL原始碼編譯MySql
- Ceph原始碼編譯與打包原始碼編譯
- nvme driver 原始碼修改、編譯原始碼編譯
- 原始碼編譯安裝Redis原始碼編譯Redis
- LAMP原始碼編譯安裝LAMP原始碼編譯
- osg原始碼編譯步驟原始碼編譯
- XCode 編譯 PAG 原始碼XCode編譯原始碼
- android原始碼學習之原始碼編譯並nexus s真機刷機Android原始碼編譯
- Android NDK 提供的交叉工具鏈手動編譯原始碼Android編譯原始碼