在32位Ubuntu 10.04上编译Android 2.3
在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相关推荐
- linux 编译窗口,Ubuntu 10.04上编译安装Sawfish窗口管理器
好好接触一下Linux世界的事物,于是就开始折腾起之前没用过的各种各样的软件来,其中之一就是窗口管理器Sawfish. 窗口管理器这个名字,虽然以前也听过不少次,但是直到最近开始了解与Linux上的图 ...
- linux skyeye,在Ubuntu 10.04上安装SkyEye及测试
说明一下,在Ubuntu 10.04上安装SkyEye方法不是原创,是来自互联网,仅供学习参考. 1.检查支持软件包 gcc, make, vim(optional), ssh, subversion ...
- 在Ubuntu Server14.04上编译Android6.0源码
此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把An ...
- ubuntu 14.04.5 编译Android 4.4.4 r1源码(最新)
本文博客链接:http://blog.csdn.net/qq1084283172/article/details/54426189 吐槽:ubuntu系统真是让人又爱又恨,也有可能是VMware Wo ...
- Ubuntu 12.04 下编译Android 4.0.3
在Ubuntu 12.04 下编译了Android 4.0.3发现了一大堆错误,网上找了一堆的更改源码啊,Android.mk的解决方法,虽然可以编译成功,但都有点坑爹的成分,为了不误人子弟就分享出来 ...
- 64位ubuntu 12.04系统编译busybox遇到的问题处理办法
今天研究了一下busybox的编译.自己下了一个busybox-1.25.0的版本(直接从busybox官网上下载:https://busybox.net/downloads/),进行编译,遇到了一些 ...
- pppoe linux软件,在Ubuntu 18.04上编译安装pppoe客户端软件
PPPoE(以太网上的点对点协议Point-to-Point Protocol over Ethernet)是许多DSL Internet服务提供商使用的协议. RP-PPPoE是Linux的免费PP ...
- Ubuntu 11.04上搭建Android开发环境
本文给大家讲解下如何在Ubuntu 11.04环境下使用Eclipse, Android SDK和 PhoneGap搭建Android开发环境. #1,安装Eclipse 和 Android SDK/ ...
- ubuntu 16.04 编译android,Ubuntu 16.04 64bit 编译 Android 4.4 源码
1.获取Android源码 (1)下载repo 在用户目录下创建一个bin文件夹来存放repo,并把该路径设置到环境变量中mkdir ~/binPATH=~/bin:$PATH 下载repo脚本cur ...
最新文章
- 初学Portal的基本概念
- [JavaScript]为JS处理二进制数据提供可能性的WEB API
- PMP知识点(一、全局概览)
- Linux oracle(常用命令)启动、停止、监听
- mysql 60万_MySQL5.7中60万数据的表分组统计很慢
- PoolTogether本周Loot Box奖金组合中新增加入ESSAY代币
- csu 1577 Dice Game (博弈)
- 编译出错:self-encoder.context-me_method = ME_UMH;
- [独库骑行之我们路过高山]翻越哈希勒根达坂
- Java基础continue语句
- Android 图形解锁/手势解锁 / 手势密码 / 图案密码 / 九宫格密码
- 一键配置以太网IP脚本
- Android常用对话框
- 用selenium模拟QQ空间登录
- VirtualBox虚拟机安装Windows XP
- python 函数基础
- oracle ocp认证指南,OCP认证考试指南(三):创建Oracle数据库
- 电脑端如何隐藏显示CAD图层内容
- micropython 常量_MicroPython添加Module(二)
- 汇顶科技外包java_【汇顶科技有限公司Java面试】2020春季校招后端Java-看准网