ubuntu16.04 编译安卓4.2

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

上一篇:CSS之分组选择器和嵌套选择器


下一篇:【Flume NG用户指南】(1)设置