Ubuntu12.04系统编译Android4.4源码

摘要   在Ubuntu12.04 64位系统上编译Android4.4源码。

系统环境

系统:Ubuntu12.04 64位系统。

源码:Android4.4源码。

选择Ubuntu12.04,是因为在14.04上没能折腾成功,在上面兼容32位程序的配置有点烦。12.04必须要用64位的,编译Android4.4时需要64位环境,同时要兼容32位程序,折腾。

步骤

  1. 配置jdk6

Android官方给的步骤是用OpenJdk,实测是不行的。网上找到https://jdk6.java.net/download.html 这个网址有需要的jdk,下载自解压安装包。自解压后在当前目录下生成一个jdk的目录,打开/etc/environment,增加自己的jdk bin目录到PATH里面。同时新增如下环境变量:

?
1
2
CLASSPATH=/path/to/your/local/jdk/dir/lib
JAVA_HOME=/path/to/your/local/jdk/dir

然后执行如下命令,设置系统的默认jdk:

?
1
2
3
4
5
6
$ sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1. 6 .0_38/bin/java 300
$ sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1. 6 .0_38/bin/javac 300
$ sudo update-alternatives --install /usr/bin/javaws javaws /usr/local/java/jdk1. 6 .0_38/bin/javaws 300
$ sudo update-alternatives --install /usr/bin/jar jar /usr/local/java/jdk1. 6 .0_38/bin/jar 300
$ sudo update-alternatives --install /usr/bin/javap javap /usr/local/java/jdk1. 6 .0_38/bin/javap 300
$ sudo update-alternatives --config java
  1. 安装软件包 
    能装的都要装上,以免编译失败,又要回过头重装,如下:

    $ sudo apt-get install build-essential make gcc g++ libc6-dev texinfo libncurses-dev git-core gnupg flex bison zip curl ncurses-dev libsdl-dev zlib1g-dev ia32-libs libxml2-utils lzma

  2. 编译源码 
    到源码目录下,如下:

    $ source build/envsetup.sh 
    $ lunch 
    选择arm平台。

    $ make -jn 
    n为CPU个数的两倍,主要是提高编译速度。

可能的错误

编译过程碰到如下错误:

?
1
2
3
4
5
File "/usr/lib/python2.7/subprocess.py" , line 679 , in __init__
      errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py" , line 1259 , in _execute_child
      raise child_exception
  OSError: [Errno 2 ] No such file or directory

一般情况是因为前面的javap没有配置所致。如果必须的软件包没有安装,也会有类似的提示,仔细向上翻看错误提示,找到真正的错误地方,安装对应的软件包即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值