Read the fucking source code !!!
一.前言:
從事Android開發工作也有好幾年,說來慚愧,竟然沒有好好去研究下android的源碼,有種暴殄天物的感覺。一方面從自己技術提升角度,另一方面也是想給自己一個目標,生活也不至於太茫然。准備花段時間好好研究下android的源碼,寫博客也算是給自己一個完成目標,不至於半途而廢。同時,由於本人技術和語言組織能力有限,對於有些技術點多多少少都有點借鑒源自網絡,如果未申明轉載地址,可能是由於原文出處無法探究,還請原作者諒解。介紹多多少少都有不足之處,可能淺顯,可能有誤,可能沒有描述清楚,還請諒解,可以給我留言,方便完善,不要給其他查看到的同學產生誤解就好了。
二.源碼下載地址:
我也是fork別人的網盤,忘記了那篇文章地址了,抱歉!感謝!
鏈接: https://pan.baidu.com/s/15PNt1W4jjxZXM9o-qCC94A 密碼: p3td
三.源碼文件目錄介紹:
根目錄 | 描述 |
abi | abi相關代碼,應用程序二進制接口 |
bionic | bionic C庫 |
bootable | 啟動引導相關代碼 |
build | 存放系統編譯規則及generic等基礎開發配置包 |
cts | Android兼容性測試套件標准 |
dalvik | dalvik Java虛擬機 |
development | 應用程序開發相關代碼 |
device | 設備相關代碼 |
docs | 介紹開源的相關文檔 |
external | Android使用的一些開源的模組 |
frameworks | 核心框架——Java及C++語言,是Android應用程序的框架 |
gdk | 即時通信模塊 |
hardware | 主要是硬件適配層HAL代碼 |
kernel | Linux的內核文件 |
libcore | 核心庫相關 |
libnativehelper | 是Support functions for Android's class libraries的別名,表示動態庫,是實現JNI庫的基礎 |
ndk | ndk相關代碼。Android NDK(Android Native Development Kit)是一系列的開發工具,允許程序開發人員在Android應用程序中嵌入C/C++語言編寫的非托管代碼 |
out | 編譯完成后的代碼輸出在此目錄 |
packages | 應用程序包 |
pdk | Plug Development Kit的縮寫,是本地開發套件 |
prebuilts | x86和ARM架構下預編譯的一些資源 |
sdk | SDK及模擬器 |
system | 文件系統和應用及組件,是用C語言實現的 |
tools | 工具文件夾 |
vendor | 廠商定制代碼 |
Makefile | 全局的Makefile |
對於源碼文件夾目錄詳細對應的描述可以參考這邊博文:https://blog.csdn.net/norry870420/article/details/54288369
四.最后
本來想說總結,但是想想還不是總結的時候,這只是一個開始。
后續的隨筆我會從自己工作中常用的幾個類入手,慢慢逐步分析,由淺入深來探索android源碼。由於功力有限,可能前期會介紹的比較淺顯,但是這是一個迭代的過程,每篇文章最后都會經過多次修改,逐步完善。畢竟一口吃不掉一個胖子,堅持堅持堅持。
最后推薦個博客:老羅Android之旅:https://blog.csdn.net/Luoshengyang/。