新闻  |   论坛  |   博客  |   在线研讨会
itop4412开发板Android4.4旧源码编译
魔法城堡 | 2019-06-24 11:00:35    阅读:538   发布文章

注意:本小节,介绍的旧源码指的是“20170803”之前的源码。

在网盘目录中“iTOP4412 开发板资料汇总(不含光盘内容)\iTOP-4412 开发板系统源

码及镜像(其他)\android_4.4.4 源码以及对应 Kernel 源码”中下载 Android4.4.4 的 文件

系统,并通过 github 下载 uboot(Android4.4 的 uboot 源码和 Android4.0.3 完全一样)

和 kernel 的源码(参考附录六)。

5.4.2.1 uboot 的编译

Android4.4.4 对应 uboot 的源码,编译器,参数配置,编译脚本以及编译参数和

Android4.0.3 的 uboot 全部一模一样。

5.4.2.2 Linux 内核的编译

源码目录

网盘下载 Android4.4.4 对应的源码。在网盘“iTOP-4412 开发板系统源码及镜像(其

他)”→“android_4.4.4 源码及镜像”目录下。

编译器

Android4.4.4 对应内核的编译器和 Android4.0.3 的内核编译器一模一样。

参数配置

内核的编译是组合式配置文件,基本的配置文件名是“config_for_android_YY”,YY 表

示用下表所示的参数替代。



如上表所示,如果需要 Android4.4.4 支持 WiFi,则需要配置对应的参数。

编译生成内核镜像举例

和 Android4.0.3 内核一样,如果需要编译对应核心板的内核,首先使用 cp 命令将对应

的配置文件覆盖掉”.config”,然后在执行编译命令“make zImage”。

生成内核镜像的目录也是“arch”-->“arm”-->“boot”。

5.4.2.3 Android4.4.4 的编译

Android4.4.4 源码在网盘“iTOP-4412 开发板系统源码及镜像(其他)\android_4.4.4

源码以及对应 Kernel 源码”目录中下载,编译器和参数配置和 Android4.0.3 一模一样。

更新环境 javap

编译 Android4.4.4,还缺少一个“javap”命令,使用命令:

“update-alternatives --install "/usr/bin/javap" "javap"

"/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1”

更新一下,如下图所示。


源码下载

内核的源码也可以在 github 上下载,具体参考使用手册附录 6.2,附录中有迅为

Android4.4 对应内核源码 github 下载地址。

使用手册附录中有介绍 repo 下载 Android4.4 源码的方法,但是从今年(2016)开始,

repo 经常性的无法下载和使用。所以最好到迅为百度网盘中下载源码(目录参考使用手册编

译章节),选取日期最近的目录下载即可。

网盘中源码包一般是 gz 后缀、7z 或者 rar 后缀。gz 后缀可以直接在 Ubuntu 下解压;

7z 和 rar 后缀都是需要先在 windows 下解压出 gz 后缀压缩包,然后再在 Ubuntu 下解压。

内核以及 Android 源码路径

编译 Android4.4 源码的时候,一定要注意内核源码的目录。在和 Android 源码目录

“ iTop4412_KK4.4_git ”的同一级目录下,新建一个 kernel 目录,然后将内核源码放到

kernel 目录下,要使用迅为默认的文件名“iTop4412_Kernel_3.0”。

例如:在 Android4.4 的源码目录下,使用命令

“ls ../kernel/iTop4412_Kernel_3.0/”,如下图所示,内核的目录才是正确的。


另外在编译 Android4.4 之前,必须成功编译 Android4.4 对应的内核。

然后进入 Android4.4.4 源码解压后得到文件夹“iTop4412_KK4.4”中,使用命令

“./build_android.sh”,运行一键编译脚本,开始编译 Android4.4.4。注意:编译

Android4.4.4 必须保证给 Ubuntu 系统提供 3G 以上内存。这里“提供 3G 以上内存”的意

思,不仅仅是指在 VMware Workstations 虚拟机中设置分配 3G 内存。例如,用户在编译的

时候,PC 机的内存一共是 4G,在虚拟机中设置分配 3G 内存,但是在 Windows 系统下,开

着 QQ,杀毒软件,音乐播放器,浏览器等等,这样在 Windows 下占用的内存就快 2G 了,

那么虚拟机会自动调整到只占用 2G,甚至不到 2G 的内存,这样是没法编译通过的。

正确的分配内存方法是,首先给虚拟机分配 3G 以上内存,然后在 Windows 下关掉尽量

多的不必要的应用,关掉尽量多应用的后台程序。

当然,如果用户的 PC 是 8G 或者 16G 内存,随意就成。


如下图所示,编译完成。在文件夹

“iTop4412_KK4.4/out/target/product/smdk4x12”中,生成镜像“system.img”和

“ramdisk-uboot.img”。

这里还需要注意的是,Android4.4.4 源码需要占用较大的空间,用户需要确认有足够的

空间才能够成功编译。Android4.0.3 编译完成后总共大约占用 18G 的空间,Android4.4.4 编

译完成后总共占用大约 36G 的空间,如下图。


用户完全按照步骤编译错误,可以使用“df -l”查看一下盘符剩余空间还剩下多少,如下

图所示,如果是已使用 100%,则是空间不足。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客