Ubuntu 16.04(32位)下iTop4412环境搭建+Android4.0.3编译

2024-06-07 23:08

本文主要是介绍Ubuntu 16.04(32位)下iTop4412环境搭建+Android4.0.3编译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装库文件和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:

用编辑器打开 /etc/apt/sources.list文件,文件未添加下面链接

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

最后:apt-get update

解决lib32ncurses5-dev : 换成libncurses5-dev

发现添加源后执行./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 purge make (清除式卸载 ,同时清除配置)  apt-get remove 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 命令

成功!



这篇关于Ubuntu 16.04(32位)下iTop4412环境搭建+Android4.0.3编译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040560

相关文章

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20