这里是64位Ubuntu 11.10系统,Android2.3.7源码。官网上有编译源码的指导,但实际还会遇到些问题。JDK安装就不说了,上一篇刚写过。
欢迎互相交流。
另,配置这些东西让我有些伤心,越配越消极。个把月前的编译还未成功,这次可是重装系统来的。
1)安装依赖的包
终端执行:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils
$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
2)编译源码
进入源码目录:
$ . build/envsetup.sh
$ lunch
输入 : 1
$ make -j4
遇到的问题
a) frameworks/base/libs/utils/RefBase.cpp:507:67: error: passing ‘const android::RefBase::weakref_impl’ as ‘this’ argument of ‘void android::RefBase::weakref_impl::trackMe(bool, bool)’ discards qualifiers [-fpermissive]
解决方法:
进入源码目录frameworks/base/下,执行
$ git cherry-pick c4fbbe06
b) make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] 错误 1
据说此处编译错误是由于ubuntu 11.10采用了
GCC4.6.1导致的。
修改源码目录下/build/core/combo/HOST_linux-x86.mk文件:
将以下语句
HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
修改为
HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
3)编译完成
编译完成后会在out/target/product/generic目录下生成system.img, ramdisk.img, userdata.img三个镜像文件。
终于结束了,环境问题困扰了我好久,过程是蛋疼的,但现在还是有些快感的。工作日报都知道怎么写了,加班,搞点内容出来才行。
==========
参考
GCC(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。它是一套
以 GPL 及 LGPL 许可证所发行的自由软件,也是 GNU计划的关键部分,亦是自由的类Unix及苹果电脑 Mac OS X 操作系统的标准编译器。
GCC 原名为 GNU C 语言编译器,因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。之后也变得可处理 Fortran、Pascal、Objective-C、Java, 以及 Ada与其他语言。
分享到:
相关推荐
在32位Ubuntu 11.10操作系统下编译Android 2.3.7源码,你需要遵循一系列步骤。首先,确保你的开发环境已经准备就绪。这包括在VMware上安装Ubuntu 11.10,分配至少25GB的硬盘空间和1GB的内存。接下来,你需要安装必要...
在Ubuntu 11.10操作系统中编译Linux 3.0.73内核是一项技术性较强的任务,涉及到系统级别的操作和配置。本文将详细介绍如何从下载、配置到编译和安装内核的整个过程。 首先,我们需要从官方Linux内核发布站点下载3.0...
3. **必需包安装**:对于64位Ubuntu,可以通过以下命令安装编译所需的软件包: ``` $ sudo apt-get install git-core gnupg flex bison perf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia...
- **操作系统**:推荐使用64位的Ubuntu 10.04,因为其他版本可能会遇到未知的Bug。尽管如此,Ubuntu的其他版本理论上也是可行的。 - **GCC版本**:确保安装的是GCC 4.4,而不是4.6。如果默认安装的是4.6,需要通过...
本文档介绍了在 Ubuntu 11.10 上搭建嵌入式开发环境的过程,包括交叉编译环境的搭建、dnw 和 minicom 的安装与使用。 一、交叉编译环境的搭建 交叉编译环境是嵌入式开发的基础, ARM 2010q1 工具链是常用的交叉...
本文将详细介绍在Ubuntu 11.10 64位操作系统上搭建MTK6573的编译环境,并解决常见问题。 首先,搭建环境需要安装一系列基础依赖库。在Ubuntu的命令行终端中,通过`apt-get install`命令安装如下软件包:gnupg、flex...
这是已经打好补丁的Darwin服务器源码包,里面还附有安装教程,源码在fedora16和ubuntu11.10编译安装通过,安装过程很简单,推荐下载。
本文将详细介绍如何在Ubuntu 11.10环境下编译并运行《Unix网络编程》一书中提供的示例源代码。 #### 二、准备工作 在开始之前,确保已经安装了必要的开发工具,如编译器(GCC)、make工具等。此外,还需确保Ubuntu...
《iNodeClient for Linux:在Fedora 16与Ubuntu 11.10上的校园网认证利器》 iNodeClient是一款专为Linux系统设计的网络认证工具,它主要用于连接和管理校园网络,确保用户能够顺利进行上网认证。在本文中,我们将...
本文将以Ubuntu 11.10操作系统为例,介绍如何构建适用于Tiny6410硬件平台的交叉编译工具链。首先,需要确保Ubuntu系统中安装了一系列必要的工具包,包括但不限于bison、flex、texinfo等。 1. **安装必备工具** - ...
- **Ubuntu版本**:ubuntu-11.10-dvd-i386 - **更新Linux源**:首先需要确保Ubuntu的软件源是最新的,这可以通过运行以下命令实现: ```bash sudo apt-get update ``` #### 三、安装SkyEye所需的依赖包 为了保证...
6. **Linux编程环境**:在Ubuntu 11.10上,学生需要搭建Linux开发环境,包括安装VMware虚拟机、设置root用户登录、安装必要的开发工具和库(如gcc、gdb、make、GTK+等)。这对于进行系统级编程和调试是非常必要的。 ...
为了搭建完整的开发环境,CW210开发板推荐使用Ubuntu 11.10作为宿主机操作系统,并安装必要的软件和工具,如交叉编译器、Android开发环境等,以支持开发工作。 #### 六、CW210 Android使用指南 CW210开发板在...
课程设计环境搭建在Windows 7上,通过VMware虚拟机安装Ubuntu 11.10桌面版。为了便于操作,需要更改root用户的登录方式,允许直接以root身份登录。此外,安装必要的开发工具,如gcc/g++、gdb、make,以及在添加系统...
在Ubuntu 11.10上安装Nagios的步骤如下: **一、安装前准备** 确保系统已安装Web服务器(如Apache),并下载Nagios及其相关组件的源码包: - `nagios-3.2.3.tar.gz` - `nagios-plugins-1.4.15.tar.gz` - `nrpe-2.12...
linux环境:ubuntu 11.10 交叉编译:4.6.1 opencv: opencv-2.4.4 cmake: cmake-2.8.1-Linux-i386.tar.gz 二、opencv-2.4.4的移植过程 解压cmake-2.8.1-Linux-i386.tar.gz到/usr/local/ cmake-2.8.1 #export PATH= ...