iT邦幫忙

2022 iThome 鐵人賽

DAY 2
0
Mobile Development

AOSP(Android Open Soure Project)學習系列 第 2

工作跟Android有關時,可以先接觸的相關名詞

  • 分享至 

  • xImage
  •  
  • Android包含的語言:C, C++, Java, Kotlin, Python

  • Android在10代以前的產品都以甜品來命名,之後直接以字母和版本數字代稱

  • SDK全名是Software Development Kit:開發者也不是全部的東西都自己幹,出門在外需要工具包輔助的,總不能每次都自己用石頭加棍子做斧頭。很多平台或系統商都會提供SDK給開發者,方便他們開發軟體

    • Android的SDK讓開發者可以開發APP,使用的語言是JAVA
    • 以Java作為主要開發語言但不是開發Android APP的開發人員,昇陽電腦也有提供JAVA的SDK,習慣稱JDK
  • Android的軟體架構可以像在背網路協定模型一樣去背:每層都是軟體,都有開發者在寫在維護的:Application Framework、Android system services、HAL、Linux kernal,Application Framework在最上層。

  • NDK全名是Native Development Kit,會講到NDK基本一定就是跟Android有關了,因為其他人都只講SDK,就Android分了兩種Kit,面向不同類型的開發人員。

    • 因為Android底層是C, C++寫的,JAVA這類的語言其實速度相對偏慢,所以真的到開發大型APP或者開始往底層去當開發者,就應該會接觸到這個NDK
  • Android Studio可以用來開發放在google play商店的APP,也可以開發放在Andorid Studio plugin頁面的plugin

Android Wiki
什麼是Android NDK
安卓架構

 
 
 

  • JAR vs APK: Jar是Java文件,是一種壓縮檔就是跟ZIP類似的檔案,但只要有安裝JAVA,這個Jar檔就不用被解壓縮也能夠被使用
    • google play商店上的APP的副檔名是.apk
    • plugin的副檔名是.jar

Jar命令用法
JDK Wiki

 
 
 

  • Git

    • 學習Git可以從把東西放在Github開始,容易上手,但在公司還要懂Gerrit的使用方法
  • Gerrit是程式碼審查軟體,跟Github一樣有提供web頁面查看,提交程式碼,互相審閱,修改的工具

    • 學Android開源專案必要會操作的系統
    • 跟自己使用的git主要差別在於,gerrit不允許直接將本地修改同步到遠端倉庫,client需要先push到遠端倉庫的branch上,等待審閱,比較像在github上把程式碼提交給別人持有的repository一樣
    • 這個軟體的使用有一些CI/CD跟DevOps的概念
    • 我要先跳過這個,再找時間練習
    • Gerrit的document可以在android-review.googlesource.com上面找,這裏應該有人維護,而且是follow android 開發生態

CI持續整合系統環境--Gitlab+Gerrit+Jenkins完整對接
Gerrit 由淺入淺 實戰筆記

 

 

不同步發佈於:

reference:
0 -> Android -> Kotlin 開發筆記 Day1~4

09/20 更新: 新增gerrit資訊


上一篇
蒐羅學習資料(10/12更新)
下一篇
Android App跟HAL Layer使用語言 學習中 (10/2更新)
系列文
AOSP(Android Open Soure Project)學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言