經由 [Mokoid] 範例,我們可以學習到擴充(Extent)Android 框架的做法。搭配 Product Tree 的方式,我們將 LedManager 與 LedService 二個類別編譯成獨立的 jar 檔(mokoid.jar),mokoid.jar 會被 Android build system 自動佈署到 system.img 裡(system/framework/mokoid.jar)。
因為 mokoid.jar 裡的類別沒有做 preload,並不是「preload class」,所以需要額外的系統設定,才能讓 Android 作業系統找到 LedManager 與 LedService 二個類別。在 Mokoid 範例中,找到一個名為 com.mokoid.server.xml 的設定檔,內容如下:
<?xml version="1.0" encoding="utf-8"?> <permissions> <library name="com.mokoid.server" file="/system/framework/mokoid.jar"/> </permissions>
此設定檔的作用為:指定 com.mokoid.server 的相對應 jar 檔。「com.mokoid.server」是 Java package(library name)、mokoid.jar 是檔案。透過 com.mokoid.server.xml 來設定其對應關係,並將此檔案置於 /etc/permissions 目錄下,這是基本的 Android 系統管理。
延伸閱讀
Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue
您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw