近年來,智慧型手機崛起,伴隨著手機作業系統也逐漸受到重視,以往手機系統大多是各手機大廠自行研發且封閉的系統;但自從Google開始覬覦手機市場的廣告商機,而著手開發一個完全免費且開放式的手機軟體平台Android,全球各相關產官學界便開始爭相研究,也替Linux在智慧型手機市場注入一劑強心針。 一般有能力移植Android的業界不願公開移植的步驟及流程,而學界則恐缺資源及人才,因此不易將Android移植至實際平台,我們不僅成功地將Android移植至PXA270,並公開移植的步驟、流程、所撰寫及修改的程式碼,使他人可以仿照此流程,建立Android的執行環境。 本論文的重點在於移植的流程,而非硬體平台,此流程適用於多數的硬體平台,但不可能百分之百適用於所有的開發環境。 我們為此打造一個全新的開發環境,使其在GNU Make支援下盡可能執行parallel make以縮短編譯時間。 我們希望透過本論文能夠一窺Android的運作方式,並分享移植過程中所遇到的問題及解決方法。
In recent years, with the appearance of smart phones, development of the operating systems for handheld devices has attracted more and more attention. In the past, the specifications and developments of the handheld devices are usually defined by the vendors in a propritory method. With the ambition to extend the market share in the mobile phone related industry, Google has started to develop a free and open source based software platform, called Android, for these kinds of devices. Since then, Android soon gets focus from the world-wide industry companies, government departments, and academic organization. This also helps the Linux community in its applications in embedded systems. We not only have ported Android into one of our embedded platform (a PXA270 board), but also we’d like to share our experience and detailed procedures to anyone who are interested in Android porting. The keypoint of this thesis is to emphasize the process of porting, instead of how to port it to any particular hardware platform. However, this process still depends on some of the hardware components that are used. The porting process involves many issues related to the hardware. These include the work of kernel porting, driver porting, and also some modification to the Android application framework and libraries. Based on our work, we hope that people who are interested in Android have the chance to get more understanding on how it work and how to realize it on their own platforms.