iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 11
0
Software Development

0 -> Android -> Kotlin 開發筆記系列 第 11

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

講完了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/
本文同步刊登在Medium上,連結在此


上一篇
[Day10] Android Third Party Library
下一篇
[Day12] 與Android有關的Gradle
系列文
0 -> Android -> Kotlin 開發筆記23

尚未有邦友留言

立即登入留言