[Day11] 什麼是AOSP?我應該學習嗎?

Teng Wang
2 min readOct 11, 2018

--

講完了Android 基礎元件、觀念及第三方套件後,今天我想來談一談AOSP,什麼是AOSP? Android Open Soure Project,他就是一個google支援的開源Android OS程式碼,姑且不論今後是否會仍然是開源的專案。
開源程式的實作細節中,一直以來都不乏許多值得讓開發者學習的部分:

  • 你會想知道Activity是怎麼做出來的嗎?
  • IBinder又是如何實作的呢?
  • Android是如何與其他硬韌體溝通的呢?
  • ANR是怎麼實作的?
  • Camera 的圖片或Streaming到了Android的底層後,是怎麼傳輸的?
  • 6.0以上的權限為什麼會這樣規範?又或者說具體而言,他們是如何去實作這些權限的限縮及要求的?

當然最好的方式是去手機廠,一個部門一個部門的輪替,這樣就可以具體而細微的了解整個Android OS,但既然網路上有公開的Source Code,其實我們現在就可以開始了。

即便以上的這些文章都不是開發者真的必備的知識,但越了解也可以方便遇到程式問題的時候如何除錯,有些時候遇到某些自己沒碰過的Android source code error,筆者會去androidxref 看一下這個版本的這個元件是怎麼實作的,由此去判斷Bug root cause可能的原因。

但也有遇到系統廠商開發出來的版本跟Open source code完全是不同的情況就是,不過依然可以當成了解的依據。

最後,附上官方網址:https://source.android.com/

--

--