莫道桑榆晚,为霞尚满天。这篇文章主要讲述嵌入式4412开发平台Android系统开发环境搭建以及编译相关的知识,希望能为你提供帮助。
本文介绍
uboot、Linux3.0.15
和
linux-3.5
内核、android4.0.3
和Android4.2.2
编译环境的搭建以及编译。
文章图片
详情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com
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 初始系统安装完成。
< ignore_js_op>
文章图片
输入密码“topeet”,登陆 Ubuntu,键盘上按“Ctrl+Alt+t”,弹出 Ubuntu 的控制 台。如下图所示。
< ignore_js_op>
文章图片
安装完成后进入 Ubuntu 的终端,激活 root 用户,具体操作如下。
在 Ubuntu 命令行中,执行命令“sudo passwd root”。 接着在 Ubuntu 的终端输入安装时的密码和新密码,Ubuntu 系统中密码默认是隐藏的。 如下图所示。
< ignore_js_op>
文章图片
接着登录 root 用户,具体操作如下。 在 Ubuntu 命令行中,执行命令“su root”。 接着输入密码,就可以登陆 root 用户。 后面所有的操作都需要在 root 用户下面进行操作,如下图所示。
< ignore_js_op>
文章图片
虚拟机 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”。
< ignore_js_op>
文章图片
使用 SSH 工具将交叉编译工具拷贝到 Ubuntu12.04.2 系统的文件夹“usr”--> “local”--> “arm”中,local 下默认没有 arm文件夹,可以新建一个。如下图所示。
< ignore_js_op>
文章图片
拷贝编译器之后如下图所示。
< ignore_js_op>
文章图片
然后在 Ubuntu 系统中将压缩包解压到当前目录下。 使用命令“cd /usr/local/arm/”进入/usr/local/arm文件夹,然后使用解压命令“tar -vxf arm-2009q3.tar.bz2”解压压缩包,如下图所示。 < ignore_js_op>
文章图片
修改交叉编译工具的路径(修改环境变量) 修改交叉编译工具路径,需要修改环境变量。在 Ubuntu 命令行中,执行命令“cd /root”和“vim .bashrc”,打开环境变量文件“.bashrc”,如下图所示。
< ignore_js_op>
文章图片
然后在“.bashrc”文件中的最后一行添加如下信息: “export PATH=$PATH:/usr/local/arm/arm-2009q3/bin” 如下图所示。
< ignore_js_op>
文章图片
修改完成后保存退出。 执行下列命令,更新环境变量“source .bashrc”的命令,如下图所示。
< ignore_js_op>
文章图片
最后,在 Ubuntu 命令行中输入命令“arm”,然后按 TAB 键,如果在命令行中能够看 到 arm 编译器的信息,就表明交叉编译工具安装成功。如下图所示。 < ignore_js_op>
文章图片
安装库文件、JDK以及降低GCC版本 为了方便用户,将库文件和 JDK 的安装命令制作成了脚本文件,用户只要执行两个脚本 就可以安装库文件和 JDK。这两个脚本在用户光盘“02_编译器以及烧写工具”→“tools”文件夹下的压缩包“Android_JDK.tar.bz2”中,如下图所示。 < ignore_js_op>
文章图片
用户将压缩包拷贝到 Ubuntu 系统中,解压压缩包会生成文件夹“Android_JDK”,如 下图所示。
< ignore_js_op>
文章图片
安装库文件和 JDK 使用 cd 命令,进入解压出来的“Android_JDK” --> “jdk6”文件夹,运行脚本文件 “install-sun-java6.sh”。 需要注意的是,这条命令执行完毕可能会耗时 15 分钟以上。 如下图所示,执行“./install-sun-java6.sh”脚本。 < ignore_js_op>
文章图片
执行上面的命令的时候,根据提示输入“回车”命令。升级完成之后如下图所示。【嵌入式4412开发平台Android系统开发环境搭建以及编译】
< ignore_js_op>
文章图片
进入解压出来的文件夹“Android_JDK”中运行脚本“install-devel-packages.sh”,安 装库文件。在 Ubuntu 命令行中,执行命令“./install-devel-packages.sh”,需要注意的 是,这条命令可能会耗时 40 分钟以上,如下图所示。
< ignore_js_op>
文章图片
上面命令执行的时候,需要根据提示输入“Y”。
< ignore_js_op>
文章图片
然后安装过程中,还会提示输入“y”,如下图所示 < ignore_js_op>
文章图片
如下图所示,安装完毕。
< ignore_js_op>
文章图片
这里需要注意的是,上面这个脚本执行完毕的时候,注意一下有些库文件是不是提示没有 安装。如果发现有库文件没有安装,有可能是网络不好或者下载源丢失。这个时候用户使用一 下更新下载源的命令”apt-get update“,然后再执行一下上面的两个脚本。 例如,如下图所示,再次运行“./install-devel-packages.sh”之后,提示没有无法安装 的库和软件,那么表明已经安装完全了。 < ignore_js_op>
文章图片
降低 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”文件。 < ignore_js_op>
文章图片
如下图所示,有 8 条命令。 < ignore_js_op>
文章图片
例如执行第一条命令。 < ignore_js_op>
文章图片
根据提示输入“y”,如下图所示。 < ignore_js_op>
文章图片
其余几条命令,如下图所示,执行起来很快。 < ignore_js_op>
文章图片
在执行了这 8 条命令之后,Ubuntu 系统就将 gcc 的版本降低到 4.4.7。 如下图所示,使用命令“gcc -v”,可以看到 gcc 的版本为 4.4.7 了。 < ignore_js_op>
文章图片
需要注意的是,在执行这 8 条命令时,只有第一条命令会耗时 10 分钟左右,其它的都会 很快完成,而且命令一定要依次执行,不能有遗漏
推荐阅读
- Android App性能測试
- Android使用SharedPreferences保存账号密码
- Spring初始化ApplicationContext线程托管实际运用架构构思
- android开源框架之 andbase
- AndroidActivity 生命周期具体解释
- Android中对Handle机制的理解
- Hadoop 运行jar包时 java.lang.ClassNotFoundException: Class com.zhen.mr.RunJob$HotMapper not found
- Android 开发之 ---- bootloader (LK)
- CentOS7/RHEL7如何修改swappiness值()