Ubuntu16.04下iTop4412环境搭建+Android4.0.3编译
系统: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
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编译的更多相关文章
- ubuntu16.04下latex环境搭建
背景: 最近需要使用latex做一下简历~~~ 工具: sublime text3 (plugin: latextools) + texlive-full 配置: Preferences -> ...
- ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)
如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...
- Ubuntu16.04下LAMP环境的安装与配置
Ubuntu16.04下LAMP环境的安装与配置 最近做个实验需要用到Ubuntu环境的靶场,所以这里介绍下Ubuntu环境下LAMP的安装与配置,话不多说,我们gkd! 1.Apache2的安装 首 ...
- ubuntu16.04下源码安装onos1.0.2
由于工作需要,下载安装onos1.0.2的版本,大家看需求可以下载安装更高级的版本 参考链接:http://www.sdnlab.com/14650.html 1.系统环境 Ubuntu16.04 L ...
- Ubuntu18.04下LAMP环境搭建
可以安装安装Xampp,Xampp是一个集成的LAMP开发环境. 但是这只是对于一个刚安装好的系统来说的,但是很有可能我的电脑上面已经安装过Apache,或者安装过MySQL,或者安装过PHP了,或者 ...
- 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 ...
- Ubuntu 12.04下LAMP环境搭建实录
方法一: 用tasksel可以方便安装dns server, lamp, kubuntu desktop, ubuntu desktop, xubuntu之类的软件包.这个软件在ubuntu serv ...
- ubuntu16.04 下Mongo数据库搭建
一 数据库安装 1.下载自己需要的数据库版本和系统,下载地址:https://www.mongodb.com/download-center/community . 本文下载的为ubuntu 16.0 ...
- Ubuntu 18.04 下 Redis 环境搭建
一.安装 Redis ① 下载 wget http://download.redis.io/releases/redis-3.2.8.tar.gz ② 解压 tar -zxvf redis-3.2.8 ...
随机推荐
- Linux录制、回放和共享终端操作
另一篇终端会话共享的文章:Linux终端会话实时共享(kibitz) 使用script命令录制,使用scriptreplay播放录制的操作.共享终端的操作,则需要使用命名管道来实现. 1.1 录制 [ ...
- 我的python渗透测试工具之主机嗅探
嗅探工具的主要目标是基于UDP发现目标网络中的存活主机,选择UDP的原因是UDP访问过程开销小. 由于很多的操作系统在处理UDP端口的闭合时都会存在一个共性,我们也正是利用这个共性来开展确定此IP上是 ...
- Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer
Advanced Installer :Free for 30 days. All features. 下载地址:https://www.advancedinstaller.com/download. ...
- SQL 語法
查詢 Sql = ("SELECT A1, A2, A5, A4 FROM Table1 ") 筆數 Sql = ("Select COUNT(*) From TW01. ...
- json字符串和json对象的相互转化
开发经常要用到json字符串和json对象的相互转化,这里总结常用的两个函数.JSON.parse('字符串'),JSON.stringify('json对象') <script type=&q ...
- C#设计模式之二十职责链模式(Chain of Responsibility Pattern)【行为型】
一.引言 今天我们开始讲“行为型”设计模式的第八个模式,该模式是[职责链模式],英文名称是:Chain of Responsibility Pattern.让我们看看现实生活中的例子吧,理解起来可能更 ...
- Android Studio 学习(一)
XML给元素定义ID 定义id android:id="@+id/button_1" 引用id id/id_name 解决Failed to load Appcompat Acti ...
- VSCode Snippet 小试牛刀
这几天因为一个需求,要不断重复一个用特定代码段去包围不同代码的需求. 这个要不断移动鼠标以及重复敲打相同代码的体力活,实在让我老眼昏花,体内的懒人之力迫使我想一个快捷的方法来代替之. 之前就知道Sni ...
- mvc中查询字符串请求过长
最近在mvc中做导出Excel功能,通过页面把字段id和对应的中文名称通过a标签传给控制器的过程中,总是报错. 1.第一次错误截图 具体解决方案: 可以配置 IIS 服务器以拒绝查询字符串长度大于指定 ...
- 5; XHTML图像
1.背景图案的设置 2.将图片插入到网页中去 3.用图像作为超链接 4.使用工具建立地图索引 5.切片索引 6.为网站添加图标 5.1 背景图案的设置 格式:<body background=” ...