历史上的今天

今天是:2024年10月19日(星期六)

正在发生

2019年10月19日 | 4412嵌入式开发平台Android系统开发环境搭建以及编译

发布者:CelestialSoul 来源: eefocus关键字:Android  系统开发环境搭建  编译 手机看文章 扫描二维码
随时随地手机看文章

平台:iTOP-4412开发板

本文介绍 uboot、Linux3.0.15 和 linux-3.5 内核、Android4.0.3 和Android4.2.2 编译环境的搭建以及编译。


Uboot、Kernel 以及 Android 的编译环境看似复杂,用户只要抓住以下几个要点就可以

了:

第一:Uboot、Kernel 编译器。编译器在光盘中都有提供,在需要使用的步骤中,会说

明编译器在光盘中的位置。


第二:设置环境变量。Uboot、Kernel 编译器的环境变量设置后,编译的时候,系统才

能找到编译器。


第三:Android 文件系统的编译器。编译器需要使用 Ubuntu 系统自带的 gcc 编译器,

但是版本不对,所以需要降低版本。迅为将这个过程编写了成几个简单的命令,用户只需要挨个执行命令就可以了。


第四:库文件。搭建过程中会给通过执行简单的脚本命令来安装库文件,复杂的步骤变的

简单有效。


另外,如果用户想了解编译环境具体是怎么搭建起来的,可以利用我们提供的脚本文件来

学习。


Android4.0.3编译环境的两种搭建方式

迅为电子给用户提供两种搭建编译环境的方式,一种方法是用户安装虚拟机,然后安装基

础的 Ubuntu12.04.2 系统,利用我们提供工具和详细的使用步骤,搭建编译环境;另外一种方法是用户安装虚拟机,然后直接加载我们“搭建好的 Ubuntu 镜像”,用户只需要修改一下编译器的环境变量,就可以直接用来编译源码。


1.  自己搭建环境

自己安装虚拟机,安装 Ubuntu12.04.2 系统,搭建环境。

2.   搭建环境

如何搭建编译环境,这里需要注意的是,搭建过程中用到的各类软件,都需要和手册提到的版本保持一致,如果使用的是“搭建好的镜像”,则可以跳过这一节,但是编译的时候要针对性的设置一下环境变量。


3.  安装基本软件

首先安装虚拟机“Vmware_Workstaion_wm”,然后使用虚拟机安装“Ubuntu12.04.2

初始系统”。


Ubuntu 的安装方法可以参考 3.2 小节来安装 Ubuntu12.04.2 原始系统,如下图所示,

Ubuntu 初始系统安装完成。


输入密码“topeet”,登陆 Ubuntu,键盘上按“Ctrl+Alt+t”,弹出 Ubuntu 的控制

台。如下图所示。

安装完成后进入 Ubuntu 的终端,激活 root 用户,具体操作如下。


在 Ubuntu 命令行中,执行命令“sudo passwd root”。

接着在 Ubuntu 的终端输入安装时的密码和新密码,Ubuntu 系统中密码默认是隐藏的。

如下图所示。


接着登录 root 用户,具体操作如下。

在 Ubuntu 命令行中,执行命令“su root”。

接着输入密码,就可以登陆 root 用户。

后面所有的操作都需要在 root 用户下面进行操作,如下图所示。

虚拟机 VMware-workstation8.0.3 联网

修改数据源地址,将 Ubuntu 数据源地址修改为国内地址。


更新数据源。

然后在 Ubuntu 安装软件 vim 和 ssh,在 Ubuntu 命令行中,执行命令“apt-get install

vim”和“apt-get install ssh”。

上面安装的 ssh 软件,可以很方便在主机和虚拟机上传递文件,也可以通过远程终端控制

Ubuntu 系统,这里推荐给大家使用。


安装编译组件

交叉编译工具

编译的时候需要用到交叉编译工具,我们提供的交叉编译工具是用户光盘“02_编译器以

及烧写工具”→“arm 交叉编译器”文件夹中的压缩包“arm-2009q3.tar.bz2”。


使用 SSH 工具将交叉编译工具拷贝到 Ubuntu12.04.2 系统的文件夹“usr”-->“local”-->“arm”中,local 下默认没有 arm文件夹,可以新建一个。如下图所示。


拷贝编译器之后如下图所示。


然后在 Ubuntu 系统中将压缩包解压到当前目录下。

使用命令“cd /usr/local/arm/”进入/usr/local/arm文件夹,然后使用解压命令“tar -vxf arm-2009q3.tar.bz2”解压压缩包,如下图所示。

修改交叉编译工具的路径(修改环境变量)

修改交叉编译工具路径,需要修改环境变量。在 Ubuntu 命令行中,执行命令“cd

/root”和“vim .bashrc”,打开环境变量文件“.bashrc”,如下图所示。

然后在“.bashrc”文件中的最后一行添加如下信息:

“export PATH=$PATH:/usr/local/arm/arm-2009q3/bin”

如下图所示。


修改完成后保存退出。

执行下列命令,更新环境变量“source .bashrc”的命令,如下图所示。


最后,在 Ubuntu 命令行中输入命令“arm”,然后按 TAB 键,如果在命令行中能够看

到 arm 编译器的信息,就表明交叉编译工具安装成功。如下图所示。

安装库文件、JDK以及降低GCC版本        

为了方便用户,将库文件和 JDK 的安装命令制作成了脚本文件,用户只要执行两个脚本

就可以安装库文件和 JDK。这两个脚本在用户光盘“02_编译器以及烧写工具”→“tools”文件夹下的压缩包“Android_JDK.tar.bz2”中,如下图所示。


用户将压缩包拷贝到 Ubuntu 系统中,解压压缩包会生成文件夹“Android_JDK”,如

下图所示。



安装库文件和 JDK

使用 cd 命令,进入解压出来的“Android_JDK” -->“jdk6”文件夹,运行脚本文件

“install-sun-java6.sh”。

需要注意的是,这条命令执行完毕可能会耗时 15 分钟以上。

如下图所示,执行“./install-sun-java6.sh”脚本。

执行上面的命令的时候,根据提示输入“回车”命令。升级完成之后如下图所示。


进入解压出来的文件夹“Android_JDK”中运行脚本“install-devel-packages.sh”,安

装库文件。在 Ubuntu 命令行中,执行命令“./install-devel-packages.sh”,需要注意的是,这条命令可能会耗时 40 分钟以上,如下图所示。


上面命令执行的时候,需要根据提示输入“Y”。


然后安装过程中,还会提示输入“y”,如下图所示

如下图所示,安装完毕。


这里需要注意的是,上面这个脚本执行完毕的时候,注意一下有些库文件是不是提示没有

安装。如果发现有库文件没有安装,有可能是网络不好或者下载源丢失。这个时候用户使用一

下更新下载源的命令”apt-get update“,然后再执行一下上面的两个脚本。

例如,如下图所示,再次运行“./install-devel-packages.sh”之后,提示没有无法安装

的库和软件,那么表明已经安装完全了。

降低 GCC版本

使用 Ubuntu 编译 Android 的时候需要用到 Ubuntu 系统自带的 GCC4.4.7 编译器,但

是安装的 Ubuntu12.04.2 版本,它的 GCC版本过高,所以这里需将要 GCC编译的版本降低到 4.4.7。


进入前面解压的文件夹“Android_JDK”中,会看到一个文本“update_gcc.txt”,打开

文本“update_gcc.txt”后会看到里面有 8 条命令,这 8 条命令需要在 Ubuntu 命令行中依次执行。如下图所示,使用命令打开“update_gcc.txt”文件。

如下图所示,有 8 条命令。

例如执行第一条命令。

根据提示输入“y”,如下图所示。

其余几条命令,如下图所示,执行起来很快。

在执行了这 8 条命令之后,Ubuntu 系统就将 gcc 的版本降低到 4.4.7。

如下图所示,使用命令“gcc -v”,可以看到 gcc 的版本为 4.4.7 了。

需要注意的是,在执行这 8 条命令时,只有第一条命令会耗时 10 分钟左右,其它的都会

很快完成,而且命令一定要依次执行,不能有遗漏

关键字:Android  系统开发环境搭建  编译 引用地址:4412嵌入式开发平台Android系统开发环境搭建以及编译

上一篇:iTOP-4418修改开机logo
下一篇:说说如何选择最合适你的ARM开发板

推荐阅读

据报道,日本发那科机器人重庆基地项目日前在两江新区开工建设,预计2019年上半年竣工,达产后将实现年产值2亿元以上。据悉,该项目由上海发那科机器人有限公司投资成立的重庆发那科机器人有限公司负责运营,也是发那科除北京和上海等基地外,首次在国内西部城市布局。 至此,被誉为工业机器人“四大家族”的4家全球领先企业中,已有瑞士ABB、德国库卡...
在Proteus中通过模拟温湿度,外接温湿度值,将模拟到的数据进行采集与A/D转换,显示到LCD液晶并控制后级电路进行反馈,完成晾衣架的功能。仿真原理图如下 智能晾衣架第三章:硬件单元电路经过上述分析明确了本次设计的主要目标,为了实现晾衣自身能够完成对外界数据的采集与分析,集成控制环节我们采用了ATMEL公司生产的AT89C52单片机,与市面上的其他嵌入...
高性能传感器解决方案供应商艾迈斯半导体(ams AG,瑞士股票交易所股票代码:AMS)宣布,在汽车LiDAR传感器技术和相关软件领域的专家和全球技术领导者Ibeo Automotive Systems GmbH最新推出的ibeoNEXT固态激光雷达(Solid-state LiDAR)解决方案中采用了艾迈斯半导体的垂直腔表面发射激光(VCSEL)技术,并将其作为核心组成部分。Ibeo推出的这款行业领...
电子产品日益复杂,市场对示波器的带宽和准确性提出更高要求。这不是购买一台高档示波器就能解决的问题,还需搭配适合的探头和正确的测试方法。然而大部分工程师都低估了探头的重要性。没有探头,示波器就发挥不了任何作用。探头使您能够观察被测设备(DUT)当前的状况。目前市场上可以选择的探头有几百种,但为您的特定测量选择合适的探头以便获得准确的...

史海拾趣

问答坊 | AI 解惑

根据功率因数如何计算节电量?

特请教一下大家,250W高压钠灯路灯过去没有补偿(功率因数是0.5),稳定电流在3.8A,现在经过补偿以后功率因数变为0.8,稳定电流是2.3A,我想如何计算节电量是多少?谢谢 …

查看全部问答∨

求助!,一定帮我解答一下!

本帖最后由 paulhyde 于 2014-9-15 09:17 编辑 红外遥控器发射断要有编码,我现在很苦恼的是有编码程序吗?请哪位告诉我一下 ,需要在芯片里设置编码程序吗?我用的是8051,谢谢了 :\'(  …

查看全部问答∨

全国大学生信息安全技术邀请赛简介

本帖最后由 paulhyde 于 2014-9-15 08:59 编辑 经教育部高教司、信息产业部人事司和国防科工委人教司批准,在全国大学生电子设计竞赛中增设一项信息安全技术专题邀请赛,2008年举办第一届全国大学生信息安全技术邀请赛。情况说明如下: 1. ...…

查看全部问答∨

如何把PLC程序中将Q、I、M寄存器传至V寄存器?

请高手指点如何把PLC程序中将Q、I、M寄存器传至V寄存器…

查看全部问答∨

evc 如何调用软输入面板

用evc 写wince程序,调用软输入面板函数 SHSipPreference(this->m_hWnd,SIP_UP); 报错: error C2065: \'SHSipPreference\' : undeclared identifier error C2065: \'SIP_UP\' : undeclared identifier 需要引入什么吗?查了下资料没有找到 ...…

查看全部问答∨

EVC编写的程序,在wince5.0下操作,无法打开GPIO驱动

我使用evc编写了一个gpio输出的程序,但是用wince系统打开驱动时显示,打开gpio驱动失败,不知道是为什么,我用的是友善之臂的s3c2440实验板 ,请高手不吝赐教,不甚感激~~ …

查看全部问答∨

教你如何选择STM32开发板

目前我们接触的到的网上的关于 STM32 开发板大约有 5 种,有适合 STM32 入门级的开发者,也有适合对于高级应用开发的工程师们的。因此对于不同的人群我们应该选择不同的开发板,面对 5 种我们都没有 ...…

查看全部问答∨

【问TI】AM1808通过xds100v2烧写ubl和u-boot的问题

【问TI】AM1808通过xds100v2烧写ubl和u-boot的问题,请问有对应的flashwriter 供我修改使用吗?   具体的问题,TI官网上有介绍吗?暂时不能通过uart2启动模式下通过sfh-omap-l138来下载,无法返回bootme。   通过bsl测试仿真器可以使 ...…

查看全部问答∨

MAX7219级联驱动问题

最近做个项目,51控制数码管,采用的芯片是MAX7219级联方式,9片级联驱动69位数码管(8片驱动满8位,一片只驱动了5位),网上程序倒是一堆,只能把它驱动亮了,但是具体单独每一位如何单独控制我有些疑问,不知论坛里是否有用过MAX7219级联驱动数码 ...…

查看全部问答∨

CCS3.3 中文学习手册

上传了两个CCS3.3的中文学习手册,希望对大家有帮助!…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved