首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

32位Ubuntu 10.10停android2.3.7源码下载及编译

2012-06-29 
32位Ubuntu 10.10下android2.3.7源码下载及编译1、我是在vmware下安装ubuntu 10.10的,这个网上资料很多,不

32位Ubuntu 10.10下android2.3.7源码下载及编译
1、我是在vmware下安装ubuntu 10.10的,这个网上资料很多,不多说了。我给ubuntu分 了30g硬盘和1g内存
2、检查一下包是否安装:
Python 2.4-2.7
Git 1.5.4 或更高版本

没有话可以sudo apt-get install..安装一下
JDK 6 因为是编译android2.3以上,如果编译2.2以下需要JDK5

其他需要安装的包:
我安装了如下包:官网上那是64位需要安装的包,我是32位的有些不一样。

$ source build/envsetup.sh$ lunch full-eng

上面代表编译的一个target,full是针对emulator编译全部包括app、输入法等,eng是指针对开发者编译,有最高权限。具体可参见官网。

接着就可以编译了,在源码目录下直接make就行,需要一段时间。
$make

网上说,32位系统的Ubuntu编译前要修改下文件,如下,但我编译时不需要,不知道原因

引用由于我们是32位系统,所以有些文件需要修改一下:将

./external/clearsilver/cgi/Android.mk

./external/clearsilver/java-jni/Android.mk

./external/clearsilver/util/Android.mk

./external/clearsilver/cs/Android.mk

四个文件中的

LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64


注释掉,或者将“64”换成“32”

LOCAL_CFLAGS += -m32
LOCAL_LDFLAGS += -m32


然后,将./build/core/main.mk 中的

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


改为:

ifneq (i686,$(findstring i686,$(build_arch)))



至此编译完毕。

make编译的并不是所有内容,不包含内核和SDK。

映像生成在out/target/product/generic下:android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是一个分区映像文件,在kernel启动时,ramdisk被用来调用init,以及把真正的root file system mount起来。system.img包括了主要系统,系统app等,会被挂载到/下,可对应查看./system该目录,可以发现在其下app/下有一些系统自带的应用程序。userdata.img包括了一些用户数据,被挂载到/data下,对应可查看./data/目录,emulator加载这3个映像文件。

5、编译SDK

编译SDK可以得到与源码同步的SDK,还会生成一些tools,在源码根目录下:

$ sudo make PRODUCT-sdk-sdk

编译生成的SDK在out/host/linux-x86/SDK下。之后如果在ubuntu下使用eclipse进行开发,可以使用你编译的SDK。

下面就在模拟器中运行镜像
切换到编译生成的SDK所在目录
$ cd /work_dir/android2.3.7_r1/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/tools

使用-system -data -ramdisk加载编译好的img,要加载自己编译的kernel的话可以再加-kernel 选项,启动模拟器

引用root@ubuntu:/work_dir/android2.3.7_r1/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/tools# ./emulator
-system /work_dir/android2.3.7/out/target/product/generic/system.img
-data /work_dir/android2.3.7/out/target/product/generic/userdata.img
-ramdisk /work_dir/android2.3.7/out/target/product/generic/ramdisk.img

热点排行