系统:Ubuntu16.04.02(优麒麟)

安装库文件和JDK

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

“install-sun-java6.sh”。

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

装库文件。在Ubuntu 命令行中,执行命令“./install-devel-packages.sh”。

解决:先删掉有问题的,最后安装它。

apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 g++-multilib tofrodos lib32ncurses5-dev python-markdown libxml2-utils xsltproc zlib1g-dev:i386

解决libgl1-mesa-glx-lts-quantal:i386:apt-get install libgl1-mesa-glx-lts-<release>:i386(其中release的值拒取决于你的系统内核,比如的我使用16.04.2安装的ubuntu则release为wily,具体替换为什么值请参考:release

解决libgl1-mesa-dev-lts-quantal:apt-get install libgl1-mesa-dev-lts-wily

解决mingw32:deb http://cz.archive.ubuntu.com/ubuntu trusty main universe

发现添加源后执行./install-devel-packages.sh不会报任何错误。

降低 GCC 版本

1.apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib

2.update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100

3.update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50

4.update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100

5.update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50

6.update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.4 100

7.update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-5 50

8.gcc -v

Uboot编译:

内核编译出错make zImage

解决办法:

其实,提示的错误信息已经明确告诉你了,你应该省略defined().

这里,我们打开 kernel/timeconst.pl

@val = @{$canned_values{$hz}};

if (!defined(@val)) {

@val = compute_values($hz);

}

output($hz, @val);

将if (!defined(@val)) 改为if (!@val),再次编译就可以通过了。

查了一下更新,发现其中有一项是perl版本升级到了 v5.22.1,然后查了perl官方文档,发现官网因为一个bug,该版本将defined(@array)去掉了。可以直接使用数组判断非空。

Android4.0.3编译:

解决办法:

1.卸载make 4.1

apt-get install make

2.下载安装make 3.81

http://ftp.gnu.org/gnu/make/

root@love-xin:/home/hou/下载# tar -xvzf make-3.81.tar.gz

root@love-xin:/home/hou/下载# cd make-3.81

root@love-xin:/home/hou/下载/make-3.81# ./configure --prefix=/home/hou(指定目录,要不然安装完后就是在usr/local/bin/make ,这样就是在/usr/bin/make 存在2个make)

root@love-xin:/home/hou/下载/make-3.81# sh build.sh

root@love-xin:/home/hou/下载/make-3.81# ./make install

root@love-xin:/home/hou/下载/make-3.81# cp /home/hou/bin/make /usr/bin/

开始编译源码时间:2016年5月19日07:46:23

完成编译源码时间:2016年5月19日15:18:52(包括处理问题等其他事情)

出错1:

解决方法是安装perl的switch库:(apt-get install libswitch-perl)

出错2:

解决方法:

在dalvik/vm/native/dalvik_system_Zygote.cpp中间增加一个头文件定义#include <sys/resource.h>

#include "Dalvik.h"

#include "native/InternalNativePriv.h"

#include <sys/resource.h>

出错3:

问题是内存不足。我用的是2G运行内存,加大到3G继续。

出错4:

解决方法:此问题是因为编译android4.0需要4GB的RAM或SWAP空间,而ubuntu默认的1GB的,所以,增加swap空间即可。

分配给虚拟机4G内存RAM,并且我在这里强烈建议,虚拟机的初始硬盘空间最好给60G以上

如果您的电脑内存实在是太小的话,可以使用SWAP命令去实现虚拟内存,实现的方法如下:

1.创建一个swap文件(大约需要10分钟)

sudo dd if=/dev/zero of=/boot/swapfile bs=1024 count=4194304

2.格式化文件,使其成为swap(交换设备)

sudo mkswap -v1 /boot/swapfile

3.将swap加入到现有系统中

sudo swapon /boot/swapfile

4.执行free命令

free

5.做永久性变更

sudo vi /etc/fstab

使用vi编辑器,打开fstab文件之后,在文件的末尾加上如下一行

/boot/swapfile swap swap defaults 1 1

出错5:

解决方案是:

1. 将 iTop4412_uboot_scp_20141224.tar

iTop4412_Kernel_3.0_20150403.tar

iTop4412_ICS_20150413.tar

解压出来的三个文件夹,放在同一个目录下

2. 将 uboot/tools/目录里面的 mkimage.c 和 mkimage.h 复制到 /usr/bin/ 目录下(或者在.bashrc文件中添加PATH路径)

3. 执行apt-get install u-boot-tools 命令

成功!

Ubuntu16.04下iTop4412环境搭建+Android4.0.3编译的更多相关文章

  1. ubuntu16.04下latex环境搭建

    背景: 最近需要使用latex做一下简历~~~ 工具: sublime text3 (plugin: latextools) + texlive-full 配置: Preferences -> ...

  2. ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)

    如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...

  3. Ubuntu16.04下LAMP环境的安装与配置

    Ubuntu16.04下LAMP环境的安装与配置 最近做个实验需要用到Ubuntu环境的靶场,所以这里介绍下Ubuntu环境下LAMP的安装与配置,话不多说,我们gkd! 1.Apache2的安装 首 ...

  4. ubuntu16.04下源码安装onos1.0.2

    由于工作需要,下载安装onos1.0.2的版本,大家看需求可以下载安装更高级的版本 参考链接:http://www.sdnlab.com/14650.html 1.系统环境 Ubuntu16.04 L ...

  5. Ubuntu18.04下LAMP环境搭建

    可以安装安装Xampp,Xampp是一个集成的LAMP开发环境. 但是这只是对于一个刚安装好的系统来说的,但是很有可能我的电脑上面已经安装过Apache,或者安装过MySQL,或者安装过PHP了,或者 ...

  6. Ubuntu16.04下安装Hyperledger Fabric 1.0.0

    系统环境 * Ubuntu: 16.04 * Go: 1.9.2 * NodeJS: v6.12.0 * Docker: 17.09.0-ce * HyperLedger Fabric: 1.0.0 ...

  7. Ubuntu 12.04下LAMP环境搭建实录

    方法一: 用tasksel可以方便安装dns server, lamp, kubuntu desktop, ubuntu desktop, xubuntu之类的软件包.这个软件在ubuntu serv ...

  8. ubuntu16.04 下Mongo数据库搭建

    一 数据库安装 1.下载自己需要的数据库版本和系统,下载地址:https://www.mongodb.com/download-center/community . 本文下载的为ubuntu 16.0 ...

  9. Ubuntu 18.04 下 Redis 环境搭建

    一.安装 Redis ① 下载 wget http://download.redis.io/releases/redis-3.2.8.tar.gz ② 解压 tar -zxvf redis-3.2.8 ...

随机推荐

  1. R 脚本读取汇总 Excel 表格数据

    主要用到了 xlsx 和 rJava 包,打开 Excel 文件,读取各表格数据,再写入到汇总表. 下图为处理前的原始数据表格: 下图为处理后的数据: 代码实现 安装&加载包的函数实现.ins ...

  2. for 循环 和 Array 数组对象

    博客地址:https://ainyi.com/12 for 循环 和 Array 数组对象方法 for for-in for-of forEach效率比较 - 四种循环,遍历长度为 1000000 的 ...

  3. 结构型---桥接模式(Bridge Pattern)

    定义 桥接模式即将抽象部分与实现部分脱耦,使它们可以独立变化.桥接模式的目的就是使两者分离,根据面向对象的封装变化的原则,我们可以把实现部分的变化封装到另外一个类中,这样的一个思路也就是桥接模式的实现 ...

  4. 近20个绚丽实用的jQuery/CSS3侧边栏菜单(转载)

    http://developer.51cto.com/art/201510/493530.htm 近20个绚丽实用的jQuery/CSS3侧边栏菜单 jQuery作为一款主流的JavaScript前端 ...

  5. 阿里分布式服务框架Dubbo的架构总结

    Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...

  6. 提取Chrome插件为crx文件

    在Chrome浏览器输入 chrome://extensions/,点开右上角开发者模式 记录上图中的ID:gidgenkbbabolejbgbpnhbimgjbffefm 在资源管理器中找到Chro ...

  7. 4. 泛型_EJ

    第23条: 不要在新代码中使用原生态类型 声明中具有一个或多个类型参数的类或接口,就是泛型类或接口.每种泛型都定义一组参数化的类型,每个泛型都定义一个原生态类型.例如List<E>相对应的 ...

  8. mapper代理查询

    对于查询来说,要根据具体的业务,来指定mapper接口中方法的返回值类型1:如果只返回一条记录,mapper接口中方法的返回值类型应指定为pojo类型或其他简单类型,这样mybatis内部就会使用se ...

  9. vue-cli中安装方法

    源:http://www.cnblogs.com/jn1223/p/6656956.html vue-cli中安装方法   vue-cli脚手架模板是基于node下的npm来完成安装的所以首先需要安装 ...

  10. PHP7.27: Cookie and Session

    <?php // 有的浏览器不支持Cookie,这要考虑的 $cFile="count.txt"; $acctime=time(); if(file_exists($cFil ...