Android系统移植(一) 您所在的位置:网站首页 rpg移植安卓怎么操作 Android系统移植(一)

Android系统移植(一)

2023-05-31 20:02| 来源: 网络整理| 查看: 265

项目:安卓系统移植 1.什么是Android?

百度百科:Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

而这只是书面用语,并不能让我们更清楚的认识what is Android? 就像android开源和兼容性技术负责人danmorrill在android开发手册兼容性部分所解释的,“android并不是传统的linux风格的一个规范或分发版本,也不是一系列可重用的组件集成,android是一个用于连接设备的软件块。”

what is Android?

而我个人认为安卓更像是应用系统或者应用程序,只不过是一种特殊的应用程序而已。

那我们又如何使用它呢?这就是我们接下来需要做的工作:Android系统移植

 

2.为什么需要移植Android?

Android系统移植就是为了让Android运行在特定的硬件环境,我们才能够使用它。那

怎么移植Android系统呢?首先来看看Android系统整体架构,以便于更清晰的认识它。

Android从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。

Linux内核和应用程序框架层之间的HAL层主要是对linux内核驱动的封装,将硬件抽象化,屏蔽掉了底层的实现细节。HAL规定了一套应用层对硬件层读写和配置的统一接口,本质上就是将硬件的驱动分为用户空间和内核空间两个层面;Linux内核驱动程序运行于内核空间,硬件抽象层运行于用户空间。

了解了Android的整体架构,大家是不是更迷惑了?这不就是linux操作系统么?也有linux内核,也有库,框架等等。android开源和兼容性技术负责人dan morrill:“android并不是传统的linux风格的一个规范或分发版本”,Android并不是linux:

1.    它没有本地窗口系统

2.   它没有glibc支持

3.   它并不包括一整套标准的Linux使用程序

4.   Android专有的驱动程序

虽然Android不是linux,但是它是基于linux内核的“操作系统”。因此我们移植Android也和linux的关系比较大。接下来回到我们的主题:怎么移植Android呢?

大家先想想当按下Android设备电源键时都做了什么工作?

 

当你按下电源开关后Android设备执行了以下步骤:

从这幅图上面,我们可以看到Android启动流程。

而Android操作系统运行所需要的三大重要部分:bootlader,kernel,ramdisk

Bootlader    作为引导程序,引导linux内核的加载。如uboot

Kernel       linux内核,选用linux-3.5

Ramdisk      文件系统

有了这三个重要部分,我们的Android才能正常运行于目标硬件上。

接下来,我们就正式开始Android系统的移植的准备工作。

 

3.移植前奏

正式开始之前我们当然要准备好所需要的软硬件了:

目标硬件:TINY4412

开发环境:ubuntu 12.04.1-64位

编译器:arm-none-linux-gnueabi-     4.5.1

Android源码:Android4.2.2

Bootlader和kernel和Android4.2.2源码均由友善之臂提供

接下来可以开始准备移植前的工作了:

3.1     Bootlader模块

3.2     Kernel模块

3.3     Ramdisk模块

具体过程省略,见另一篇文档。

4.LED驱动测试

在移植Android完成成功启动Android后,编写LED驱动并测试。

此过程省略,见另一篇文档。

5.总结

1.  官方文档的重要性

2.  还是没有把握好项目整个流程,思路比较野

3.  解决问题的思路有点乱,没有理解清楚问题产生的根源便急于去解决而造成大量时间的浪费

这是我在CSDN写的第一篇博客,不足之处请大家见谅。若文章有任何错误的地方,欢迎大家指出。共同进步,共同努力!

未完待续!

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有