在32位Ubuntu 10.04上编译Android 2.3

http://www.ylmf.net/ubuntu/tips/2011021722700.html

  本人在Ubuntu 10.04系统 32位机上安装编译Android2.3源码,其步骤和注意事项如下:

  1.安装JDK6

  对于Android2.3系统,不要安装JDK5,应该安装最新的JDK6。

  如果安装了JDK6,Android会自动按64位编译,如果系统是32位的,会有编译错误,后面会说如何修改这个错误。

  sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

  sudo add-apt-repository "deb-src http://archive.canonical.com/Ubuntu lucid partner"

  sudo apt-get update

  sudo apt-get install sun-java6-jdk

  sudo update-java-alternatives -s java-6-sun

  安装完后,需要手动设置JAVA_HOME, JRE_HOME, CLASS_PATH为JDK6的安装路径。

  2. 安装各种包

  $ sudo aptitude install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

  3. 安装Repo

  $ mkdir ~/bin

  $ export PATH=~/bin:$PATH

  $ curl http://Android.git.kernel.org/repo > ~/bin/repo

  $ chmod a+x ~/bin/repo

  4. 下载Android源码

  $mkdir ~/Android2.3

  $cd ~/Android2.3

  $ repo init -u git://Android.git.kernel.org/platform/manifest.git

  $ repo sync

  这一步持续时间很长,整个源码+SDK共5G左右,我是下载了一个晚上才搞定,网速不给力啊。。。

  5. 编译Android2.3

  先export Android_JAVA_HOME=$JAVA_HOME

  $ cd ~/Android2.3

  $ source build/envsetup.sh  (./build/envsetup.sh 会报错,找不到lunch)

  $ lunch

  $ make

  在make的时候会提示出错:

  ************************************************************

  You are attempting to build on a 32-bit system.

  Only 64-bit build environments are supported beyond froyo/2.2.

  ************************************************************

  因为Android2.3默认是64位的系统上编译,需要手动修改build/core/main.mk,把这个判断部分注释掉:

  #ifneq (64,$(findstring 64,$(build_arch)))

  #$(warning ************************************************************)

  #$(warning You are attempting to build on a 32-bit system.)

  #$(warning Only 64-bit build environments are supported beyond froyo/2.2.)

  #$(warning ************************************************************)

  #$(error stop)

  #endif

  重新make,如果是安装了JDK6版本,会又报错:

  Docs droiddoc: out/target/common/docs/api-stubs

  Could not load ‘clearsilver-jni’

  java.library.path = out/host/linux-x86/lib

  make: *** [out/target/common/docs/api-stubs-timestamp] Error 45

  make: *** Waiting for unfinished jobs….

  Could not load ‘clearsilver-jni’

  java.library.path = out/host/linux-x86/lib

  make: *** [out/target/common/docs/doc-comment-check-timestamp] Error 45

  这是由于clearsilver在编译时如果检测到使用Java JDK 6,就使用64位编译,因为Google的一个员工更新了几个文件。这里可以看到详细的修改记 录:http://android.git.kernel.org/?p=platform/external/clearsilver.git; a=commitdiff;h=d36910a8110d8377b22301274d2b5131a732a72b

  修改这几个文件,该回到32位编译环境即可:

  external/clearsilver/cgi/Android.mk

  external/clearsilver/java-jni/Android.mk

  external/clearsilver/util/Android.mk

  external/clearsilver/cs/Android.mk

  把编译选项-m64改成-m32即可

  重新make,大概不到一个小时就make完了。

转载于:https://blog.51cto.com/brucemj/794152

在32位Ubuntu 10.04上编译Android 2.3相关推荐

  1. linux 编译窗口,Ubuntu 10.04上编译安装Sawfish窗口管理器

    好好接触一下Linux世界的事物,于是就开始折腾起之前没用过的各种各样的软件来,其中之一就是窗口管理器Sawfish. 窗口管理器这个名字,虽然以前也听过不少次,但是直到最近开始了解与Linux上的图 ...

  2. linux skyeye,在Ubuntu 10.04上安装SkyEye及测试

    说明一下,在Ubuntu 10.04上安装SkyEye方法不是原创,是来自互联网,仅供学习参考. 1.检查支持软件包 gcc, make, vim(optional), ssh, subversion ...

  3. 在Ubuntu Server14.04上编译Android6.0源码

    此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把An ...

  4. ubuntu 14.04.5 编译Android 4.4.4 r1源码(最新)

    本文博客链接:http://blog.csdn.net/qq1084283172/article/details/54426189 吐槽:ubuntu系统真是让人又爱又恨,也有可能是VMware Wo ...

  5. Ubuntu 12.04 下编译Android 4.0.3

    在Ubuntu 12.04 下编译了Android 4.0.3发现了一大堆错误,网上找了一堆的更改源码啊,Android.mk的解决方法,虽然可以编译成功,但都有点坑爹的成分,为了不误人子弟就分享出来 ...

  6. 64位ubuntu 12.04系统编译busybox遇到的问题处理办法

    今天研究了一下busybox的编译.自己下了一个busybox-1.25.0的版本(直接从busybox官网上下载:https://busybox.net/downloads/),进行编译,遇到了一些 ...

  7. pppoe linux软件,在Ubuntu 18.04上编译安装pppoe客户端软件

    PPPoE(以太网上的点对点协议Point-to-Point Protocol over Ethernet)是许多DSL Internet服务提供商使用的协议. RP-PPPoE是Linux的免费PP ...

  8. Ubuntu 11.04上搭建Android开发环境

    本文给大家讲解下如何在Ubuntu 11.04环境下使用Eclipse, Android SDK和 PhoneGap搭建Android开发环境. #1,安装Eclipse 和 Android SDK/ ...

  9. ubuntu 16.04 编译android,Ubuntu 16.04 64bit 编译 Android 4.4 源码

    1.获取Android源码 (1)下载repo 在用户目录下创建一个bin文件夹来存放repo,并把该路径设置到环境变量中mkdir ~/binPATH=~/bin:$PATH 下载repo脚本cur ...

最新文章

  1. 初学Portal的基本概念
  2. [JavaScript]为JS处理二进制数据提供可能性的WEB API
  3. PMP知识点(一、全局概览)
  4. Linux oracle(常用命令)启动、停止、监听
  5. mysql 60万_MySQL5.7中60万数据的表分组统计很慢
  6. PoolTogether本周Loot Box奖金组合中新增加入ESSAY代币
  7. csu 1577 Dice Game (博弈)
  8. 编译出错:self-encoder.context-me_method = ME_UMH;
  9. [独库骑行之我们路过高山]翻越哈希勒根达坂
  10. Java基础continue语句
  11. Android 图形解锁/手势解锁 / 手势密码 / 图案密码 / 九宫格密码
  12. 一键配置以太网IP脚本
  13. Android常用对话框
  14. 用selenium模拟QQ空间登录
  15. VirtualBox虚拟机安装Windows XP
  16. python 函数基础
  17. oracle ocp认证指南,OCP认证考试指南(三):创建Oracle数据库
  18. 电脑端如何隐藏显示CAD图层内容
  19. micropython 常量_MicroPython添加Module(二)
  20. 汇顶科技外包java_【汇顶科技有限公司Java面试】2020春季校招后端Java-看准网

热门文章

  1. Spring配置JDBC连接Orcale、MySql、sqlserver
  2. 将NetBIOS名称解析为IP地址的常用方法
  3. 【渗透测试学习平台】 web for pentester -1.介绍与安装
  4. jQuery 是为事件处理特别设计的。
  5. 迪杰斯特拉算法——PAT 1003
  6. JS重复引用也会导致错误
  7. 用类模拟C风格的赋值+返回值
  8. Security+认证备考经验分享(501版本)
  9. “平头哥”半导体公司
  10. 在maven项目中使用Junit进行单元测试(一)