热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android4.4源码编译的知识点有哪些

本篇内容主要讲解“Android4.4源码编译的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“A

本篇内容主要讲解“Android4.4源码编译的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android4.4源码编译的知识点有哪些”吧!

5.4.1.1 uboot 的编译

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

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

5.4.1.2 Linux 内核的编译

源码目录

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

他)”→“android_4.4.4 源码及镜像”目录下,在最新日期的文件夹下的“iTop4412-

android4.4-kernel_xxxx.tar.gz”压缩包,xxxx 表示日期。

编译器

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

参数配置

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

XX,YY 表示用下表所示的参数替代。POP 和 SCP 分别对应核心板的 POP 和 SCP;elite 和

super 分别对应精英版和全能版;no_wifi 参数仅用于精英版,表示不支持 WiFi 模块(如果没

有 WiFI 模块,那么就需要配置为 no_wifi)。

Android4.4源码编译的知识点有哪些

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

也需要进行对应配置。

编译生成内核镜像举例

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

的配置文件覆盖掉“.config”。

如果用户要使用 5 寸屏幕,先要参考用户手册“5.5 支持 5 寸屏的内核补丁文件”,给内

核打补丁,然后使用命令“vim .config”,在文件中搜索关键词

“CONFIG_TOUCHSCREEN_GT9XX=y”,在“CONFIG_TOUCHSCREEN_GT9XX=y”之

后添加一行“CONFIG_TOPEET_LCD5X0=y”,添加完成之后,如下图所示。如果用户不使

用 5 寸屏幕,则可以跳过这一步。

Android4.4源码编译的知识点有哪些

最后执行编译命令“make zImage”。

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

例如:开发板是精英版,POP 核心板,需要支持 WiFi 模块,那么缺省文件就需要配置为

“config_for_android_pop_elite”。

开发板是精英版,POP 核心板,不支持 WiFi 模块,那么缺省文件就需要配置为

“config_for_android_pop_no_wifi”。

5.4.1.3 Android4.4.4 的编译

更新环境 javap

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

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

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

更新一下,如下图所示。

Android4.4源码编译的知识点有哪些

内核以及 Android 源码路径

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

“ iTop4412_KK4.4_git ”的同一级目录下,将内核源码解压。

例如,如下图所示,作者将内核源码和 Android4.4 源码压缩包放到“/home/iTOP-

4412-Android4.4”目录下,解压“iTop4412_KK4.4_git_xxx.tar.gz”和“iTop4412-

android4.4-kernel_xxx.tar.gz”,Android 源码解压之后得到“iTop4412_KK4.4_git”和

“kernel”目录。“iTop4412_KK4.4_git”目录下就是 Android 源码,

“kernel/iTop4412_Kernel_3.0”目录下就是内核源码。

Android4.4源码编译的知识点有哪些

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

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

“./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_git/out/target/product/smdk4x12”中,

生成镜像“system.img”和“ramdisk-uboot.img”。

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

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

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

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

是已使用 100%,则是空间不足。

到此,相信大家对“Android4.4源码编译的知识点有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程笔记网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


推荐阅读
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了新款奇骏的两个让人上瘾的功能,分别是智能互联系统和BOSE音响。通过对新款奇骏的配置和功能进行评测,探讨了这两个新增功能的使用体验和优势。此外,还介绍了新款奇骏的其他配置和改进,如增加的座椅和驾驶辅助系统,以及内饰的舒适性提升。对于喜欢音响的消费者来说,BOSE音响的升级也是一个亮点。最后,文章提到了BOSE音响的数字还原能力,以及7座版无法配备BOSE音响的原因。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 如何配置小米wifi放大器来增强家庭无线路由器信号?
    本文介绍了如何通过配置小米wifi放大器来增强家庭无线路由器信号的方法。通过打开米家APP,选择设备添加,搜索并选择需要添加的wifi放大器,根据系统提示进行下一步操作即可完成配置。配置完成后,家庭无线路由器信号将得到增强。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 该ROM为红米3S3X手机提供了最强大的自定义功能,包括美观流畅的界面、全新的起航动画、魔幻的动画效果以及冰箱冻结功能。同时,还提供了高级设置,包括悬浮窗口显示自定义、WIFI密码查看器、S8炫酷跑马灯显示自定义等多项实用功能。此外,该ROM还优化了手机的待机时间、wifi连接速度,并支持状态栏实时网速显示和电池电量百分比显示。 ... [详细]
  • 转自:微点阅读(www.weidianyuedu.com)微点阅读-范文大全-免费学习知识的网站电脑唯独搜不到自己家wifi,别人家的都能搜到,手机也可以搜到自己家的,就是电脑不可 ... [详细]
  • 家里没有台式机,在手机上怎么设置密码?
      1、先将网线(猫出来的网线)插在路由器的WAN口,开启无线路由器的电源在手机上设置路由器。2、手机打开无线搜索路由器,连接无线路由器(新路由器 ... [详细]
author-avatar
bunnyvivi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有