1. root@ge-Lenovo:/usr/lib/jvm# cd /home/material/install/jdk/
   jdk-6u29-linux-x64.bin  jdk-6u45-linux-x64.bin

2. root@ge-Lenovo:/usr/lib/jvm# cp  jdk-6u29-linux-x64.bin /usr/lib/jvm/.

3. root@ge-Lenovo:/usr/lib/jvm# cd /usr/lib/jvm/
   ls jdk*
   jdk-6u29-linux-x64.bin

4. root@ge-Lenovo:/usr/lib/jvm# java -version
   java version "1.8.0_91"
   Java(TM) SE Runtime Environment (build 1.8.0_91-b11)
   Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)

5. root@ge-Lenovo:/usr/lib/jvm# ./jdk-6u29-linux-x64.bin

6. root@ge-Lenovo:/usr/lib/jvm# vim /etc/profile
   ......
   done
   unset i                                                                  
   fi

export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_29
   export JRE_HOME=${JAVA_HOME}/jre
   export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
   export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH

7. root@ge-Lenovo:/usr/lib/jvm# source /etc/profile
   //只在当前窗口临时起作用

8. root@ge-Lenovo:/usr/lib/jvm# java -version
   java version "1.6.0_29"
   Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
   Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)

9. 解决编译过程中的各种错误
×××××××××××××××××××××××××××××××××
首先确定自己 PC 上的 make 3.8、gcc 4.4、g++ 4.4 版本
如果不是,分别到 问题 2 、问题 5 部分解决
×××××××××××××××××××××××××××××××××
问题 1:
    /bin/bash: bison: command not found

解决方法:
        使用sudo apt-get install bison
        这个包会依赖如下包:
        libbison-dev libsigsegv2 m4 ,apt-get 会自动安装这些依赖包.

问题 2:
build/core/main.mk:45: ********************************************************************************
build/core/main.mk:46: *  You are using version 4.1 of make.
build/core/main.mk:47: *  Android can only be built by versions 3.81 and 3.82.
build/core/main.mk:48: *  see https://source.android.com/source/download.html
build/core/main.mk:49: ********************************************************************************
build/core/main.mk:50: *** stopping。 停止。

解决办法:
   如何实现make工具的降版本?
1. 下载make 3.81
make工具的官方镜像地址:http://ftp.gnu.org/gnu/make/ ,下载指定版本的make源码包,这里我们下载make-3.81.tar.gz。

2. 解压make源码包
   root@ge-Lenovo:~/桌面/make-3.81# tar -xzvf make-3.81.tar.gz
   root@ge-Lenovo:~/桌面/make-3.81# rm make-3.81.tar.gz
   root@ge-Lenovo:~/桌面/make-3.81# cd make-3.81/

3. 执行configure
   root@ge-Lenovo:~/桌面/make-3.81# ./configure

4. 执行build.sh
   root@ge-Lenovo:~/桌面/make-3.81# sh build.sh

5. 安装make
   root@ge-Lenovo:~/桌面/make-3.81# make install

6. 替换旧版本make
   root@ge-Lenovo:~/桌面/make-3.81# cp make /usr/bin/make

7. 查看版本
   root@ge-Lenovo:~/桌面/make-3.81# make -v
   GNU Make 3.81
   Copyright (C) 2006  Free Software Foundation, Inc.
   This is free software; see the source for copying conditions.
   There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
   PARTICULAR PURPOSE.

This program built for x86_64-unknown-linux-gnu

问题 3:
   找不到xsltproc命令:

解决方法:
   root@ge-Lenovo:/opt/FriendlyARM/tiny4412/android-4.2.2_r1# sudo apt-get install  xsltproc

问题 4:
    /bin/bash: flex: command not found

解决方法:
   root@ge-Lenovo:/opt/FriendlyARM/tiny4412/android-4.2.2_r1# sudo apt-get install flex

问题 5:gcc 和 g++ 版本不是 4.4
   
解决方法:
   首先添加ppa到库:

1. sudo add-apt-repository ppa:ubuntu-toolchain-r/test
2. sudo apt-get update

安装:
   apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib

进入/usr/bin
   root@ge-Lenovo:/usr/bin# ls -l gcc*
   root@ge-Lenovo:/usr/bin# rm gcc

同理
   root@ge-Lenovo:/usr/bin# ls -l g++*
   root@ge-Lenovo:/usr/bin# rm g++

创建新版本程序的软链接        
   root@ge-Lenovo:/usr/bin# ln -s gcc-4.4 gcc
   root@ge-Lenovo:/usr/bin# ln -s g++-4.4 g++

问题 6:
   缺少库 libz.so.1

解决办法:
   sudo apt-get install lib32z1

问题 7:
    sh: 1: sh: 1: gperf: not found
    gperf: not found

解决办法:
   sudo apt-get install gperf

问题 8:
   Can't locate Switch.pm in @INC (you may need to install the Switch
module) (@INC      contains: /etc/perl /usr/local/lib/perl/5.18.2
/usr/local/share/perl/5.18.2 /usr/lib/   perl5 /usr/share/perl5
/usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at
external/webkit/Source/WebCore/make-hash-tools.pl line 23

解决办法:
   sudo apt-get install libswitch-perl

问题 9:
   /bin/bash: xmllint: 未找到命令
   make: *** [out/target/product/generic/system/etc/apns-conf.xml] 错误 127

解决办法:
   apt-get  install libxml2-utils

10. gen-img-生成img

[root@localhost android-4.2.2_r1]# pwd
   /opt/FriendlyARM/tiny4412/android-4.2.2_r1

1.   ./gen-img.sh
        + '[' 0 -ne 0 ']'
        gen ramdisk.img
        gen ramdisk-u.img
        ./gen-img.sh: line 39: mkimage: command not found

2.   cp /opt/install/mkimage /usr/bin/.

3.   ./gen-img.sh

ubuntu16.04 编译安卓4.2的更多相关文章

  1. Ubuntu16.04编译安装php

    #Ubuntu16.04编译安装php Ubuntu16.04上面搭建基于Nginx的php服务.Nginx使用apt直接安装的. sudo apt install nginx php的安装部署步骤主 ...

  2. Ubuntu16.04编译Android6.0/cm13.0教程及相关错误解决办法

    一.必备工作 1.安装依赖库 sudo apt--dev libesd0-dev git-core gnupg flex bison gperf build-essential zip curl zl ...

  3. ubuntu16.04编译安装mysql-boost-5.7.21并编译成php扩展测试与使用

    我之前的文章已经改造了自定义MVC框架中的工具类(验证码,图片上传,图像处理,分类)4个类,接下来,就要改造模型类,模型类肯定要连接数据库,由于我的Ubuntu Linux是裸装的php(目前只编译了 ...

  4. Ubuntu16.04编译安装tensorflow,2018最新血泪踩坑之后的全面总结!绝对成功!【转】

    本文转载自:https://blog.csdn.net/pzh11001/article/details/79683133 大家好,我是 (深度学习硬件DIY总群)(719577294)群主:    ...

  5. ubuntu16.04编译QT5.6所依赖的库

    首先在QT的根目录下,阅读README文件! 里面介绍了ubuntu环境下,编译该版本的QT需要安装的包 New dependencies in Qt 5    ------------------- ...

  6. Ubuntu16.04编译tensorflow的C++接口

    原文:https://www.bearoom.xyz/2018/09/27/ubuntu1604buildtf4cpp/ 之前有一篇介绍到在windows下利用VS2015编译tensorflow的C ...

  7. Ubuntu16.04编译libjpeg-turbo库

    一.环境依赖 CMake v2.8.12或以后 NASM or YASM (if building x86 or x86-64 SIMD extensions),如果使用NASM, 依赖2.10之后版 ...

  8. Ubuntu16.04编译Openjdk8,笔者亲测编译成功

    现在很多语言都不开发运行环境了,都选择在JRE上运行,足以证明JVM的优越.你精通了JVM,未来的路才可能走得轻松.这篇文章是你走近jvm的第一篇,编译Openjdk8源码 编译环境 操作系统:Ubu ...

  9. ORB_SLAM2 Ubuntu16.04编译错误

    Ubuntu14.04一切正常,迁移到Ubuntu16.04后编译报错,提示: /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:745:3: ...

随机推荐

  1. Jedis cluster集群初始化源码剖析

    Jedis cluster集群初始化源码剖析 环境 jar版本: spring-data-redis-1.8.4-RELEASE.jar.jedis-2.9.0.jar 测试环境: Redis 3.2 ...

  2. shelve

    shelve是对pickle的封装 json & pickle是把所有的数据全部封装,一次性写入文件,而shelve可以把数据分类,以键值对的形式分别写入文件 shelve模块是一个简单的k, ...

  3. day 03

    1.数字类型 int 数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以: bit_length()  当前十进制用二进制表示时,最少使用的位数 s = 5 print(s.bit_leng ...

  4. JSP中的数据库操作,MySQL基础操作(一)

    一.JDBC JDBC(java data base concectivity),是一种用于执行SQL语句的java API,可以为多种关系库提供统一访问. 通常使用JDBC完成以下操作: 1)同数据 ...

  5. Memcached使用与纠错(附代码和相关dll)

    今天没事研究一下,谁想到遇到了几个dll找不到,网上也不好找到,索性功夫不负有心人.贴出代码和相关的dll Memcached代码:(网上都是的,很多人都保存了这个代码) using Memcache ...

  6. C# 解决SharpSvn启动窗口报错 Unable to connect to a repository at URL 'svn://....'

    在远程机打开sharpsvn客户端测试,结果报错 Svn启动窗口报错 Unable to connect to a repository at URL 'svn://...' 咋整,我在win10我的 ...

  7. Linux硬件相关

    1)查看设备号/厂商号 http://blog.csdn.net/styshoo/article/details/51203881   二.硬件厂商 1)瑞传科技股份有限公司 https://www. ...

  8. 26.mysql日志

    26.mysql日志mysql日志包括:错误日志.二进制日志.查询日志.慢查询日志. 26.1 错误日志错误日志记录了mysqld启动到停止之间发生的任何严重错误的相关信息.mysql故障时应首先查看 ...

  9. Oracle_高级功能(8) 事务和锁

    Oracle数据库事务1. 事务定义在数据库中事务是工作的逻辑单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么都成功执行,完成整个工作单元 ...

  10. nginx 动静分离 以及 负载均衡配置

    测试环境 系统版本:win7 Nginx版本:nginx-1.8.1 Tomcat版本:tomcat-6.0.14 1动静分离配置 Nginx.conf 中 server中 server { list ...