在安卓中, 安卓是以linux系统为基础的,不同的安卓版本使用不同版本的linux做为内核,不过linux2.6是目前使用最广泛的linux内核版本,而安卓 4以上的使用linux3.0的版本,当两台设备安卓版本不同但是linux内核版本相同时,不考虑HAL和linux驱动兼容问题,理论上可以对 linux内核进行替换,
安卓中分为4层结构,分别是linux内核,C/C++代码库,安卓SDK API,应用程序。而安卓系统的移植就是对应用和系统的移植。应用移植是指将第四层的应用程序移植到某一个特定硬件平台上。而由于安卓SDK API之间的差异,不同的厂商会修改SDK API。重要的是安卓应用移植并不涉及到驱动和HAL库,所以了解就可以了。
而安卓的系统移植是指让安卓系统在某一个特定硬件平台上运行。为了满足这个要求,就要先满足这个系统能够支持硬件平台的CPU架构。其次,还需要系统可以 识别平台上的各种硬件,例如声卡,网卡等硬件。而这些硬件的识别和运行,是因为有硬件的驱动,这些驱动都存在于linux内核当中。(这也是嵌入式编程的 主要工作,那些驱动能用则移植过来使用,不能使用则要对其进行修改甚至是重写)
另外在安卓系统移植中还有一个要做的工作就是对HAL就行移植或者重写。