Android source

来源:互联网 发布:淘宝收获了怎么退换货 编辑:程序博客网 时间:2024/05/21 21:50

 

Linux境构筑

1)  Linux版本

Ubuntu 9.10

可通过[cat/etc/issue]查看

2)  安装git

   首先下git

   wget http://www.kernel.org/pub/software/scm/git/git-1.6.0.2.tar.gz

   :

     tar xvzfgit-1.6.0.2.tar.gz

Build git

$ cd git-1.6.0.2

      $ ./configure --prefix=/usr/bin

      $ make

可能会出现"zlib.h No such file or directory",“rand.h No such file or directory”的错误,说明系统缺少该文件,

zlib.h 包含在 zlibg1-devopenssl/rand.h包含在 libssl-dev,所以安装对应文件

$ sudoapt-get install zlib1g-dev libssl-dev

$ make

$ sudo make install

安装过程中,使用apt-get时,可能会出现package找不到的错误提示,原因是配置链接不对,可通过如下方法修改

$sudo gedit /etc/apt/sources.list

sources.list中的内容替换为如下内容

debhttp://mirrors.163.com/ubuntu/ karmic main restricted universe multiverse

debhttp://mirrors.163.com/ubuntu/ karmic-security main restricted universemultiverse

debhttp://mirrors.163.com/ubuntu/ karmic-updates main restricted universemultiverse

debhttp://mirrors.163.com/ubuntu/ karmic-proposed main restricted universemultiverse

debhttp://mirrors.163.com/ubuntu/ karmic-backports main restricted universe multiverse

deb-srchttp://mirrors.163.com/ubuntu/ karmic main restricted universe multiverse

deb-srchttp://mirrors.163.com/ubuntu/ karmic-security main restricted universemultiverse

deb-srchttp://mirrors.163.com/ubuntu/ karmic-updates main restricted universemultiverse

deb-srchttp://mirrors.163.com/ubuntu/ karmic-proposed main restricted universemultiverse

deb-srchttp://mirrors.163.com/ubuntu/ karmic-backports main restricted universemultiverse

debhttp://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse

deb-srchttp://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse

debhttp://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universemultiverse

deb-srchttp://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universemultiverse

debhttp://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universemultiverse

deb-srchttp://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universemultiverse

debhttp://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universemultiverse

deb-srchttp://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universemultivers

替换后,文件保存,执行

$sudoapt-get update

然后再重新执行先前出错的命令

3) repo安装

$curlhttp://android.git.kernel.org/repo > /root/bin/repo

       $ cd/root/bin

       $ chmod +x repo  (可执行权限添加)

4) 安装编译所需的库文件

$ sudoapt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-devlibesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk

这里一下安装了很多库文件,安装过程中,如果有的库文件找不到,可先剔除,待其他安装好后再进行调查和安装,库找不到一般是source.list文件中没有对应的链接

:源

1) 初始化代码仓库:

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

该步执行后可能会出错repo error,原因是公司的局域网ISPGit的端口9418

,可以将命令改为

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

重新执行,执行完后需修改.repo文件

$ gedit./repo/repo/repo

将里面的

REPO_URL='git://android.git.kernel.org/tools/repo.git'改成

REPO_URL='http://android.git.kernel.org/tools/repo.git'

 

接着修改.repo/manifests/default.xml文件

$ gedit./repo/manifests/default.xml

同样将

fetch="git://android.git.kernel.org/"改成

fetch=http://android.git.kernel.org/

 

注:repo init -ugit://android.git.kernel.org/platform/manifest.git是默认下载最新版

的源码,如果需要指定版本,可以用

Android 1.5, 1.6, 2.0,2.1 的代号分别为 CupcakeDonut Éclair Flan

repoinit -u git://android.git.kernel.org/platform/manifest.git  -b  Flan

2)获取代码:

$repo sync

这个过程的时间可能很长,中间如果出错了,可以重复进行,直到下好为止,一般需要4个小时以上。

:源码编译

1)源码下好后就可直接编译

$make

但是马上会报错,提示2.2版源码只能在64位系统上运行,要对付他,得修改如下文件

a)      build/ core/main.mk73行左右)

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

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

b)      external/clearsilver/cgi/Android.mk

         LOCAL_CFLAGS+= -m64

LOCAL_LDFLAGS+= -m64

改成

LOCAL_CFLAGS+= -m32

LOCAL_LDFLAGS+= -m32

c)       external/clearsilver/cs/Android.mk

LOCAL_CFLAGS +=-m64

LOCAL_LDFLAGS +=-m64

改成

LOCAL_CFLAGS +=-m32

LOCAL_LDFLAGS +=-m32

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

LOCAL_CFLAGS +=-m64

LOCAL_LDFLAGS +=-m64

改成

LOCAL_CFLAGS += -m32

LOCAL_LDFLAGS +=-m32

e)      external/clearsilver/util/Android.mk

LOCAL_CFLAGS +=-m64

LOCAL_LDFLAGS +=-m64

改成

LOCAL_CFLAGS +=-m32

LOCAL_LDFLAGS +=-m32

 

修改完成后,再执行make命令,就不会出错

2) 模拟器运行

编译完成后,模拟器emulator/out/host/linux-x86/bin 下,ramdisk.imgsystem.imguserdata.img/out/target/product /generic

运行

$ out/host/linux-x86/bin/

$ emulator-system system.img -data userdata.img -ramdisk ramdisk.img

至此,模拟器就可以正确运行了。

SDK编译

在源码根目录下,执行

$make PRODUCT-sdk-sdk

即可,编译好的sdk就可以拿来使用,路径out/host/linux-x86/sdk

直接用make sdk编译的sdk无法使用

 

编译

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 幼儿园小朋友被老师罚站怎么办 生完小孩弯腰驼背怎么办 小孩爱捡垃圾是怎么办 腰扭了不敢弯腰怎么办 小人狗在背后骂我怎么办 微信表情缺失了怎么办 动图过大 微信 怎么办 我能怎么办图片带字 我该怎么办图片带字 学化妆找不到模特练妆怎么办? cf进房间闪退怎么办 手游cf账号封了怎么办 大门牙缺了一块怎么办 缺了一颗牙齿怎么办 CF购买医疗包竞猜币没到账怎么办 CF手游昵称不合法怎么办 微信gif尺寸过大怎么办 微信表情上限300怎么办 太受欢迎了怎么办快穿 兔宝宝沾上人气味怎么办 我该怎么办的文字图片 爱奇艺缓存视频显示下载失败怎么办 把老公惹生气了怎么办 苹果x用电量太快怎么办 小中考地生没过怎么办 如果遇到不负责的语文老师怎么办 孩子的语文老师教的不好怎么办 刚买的小猫很凶怎么办 2月幼犬不吃东西怎么办 小狗狗不吃狗粮怎么办 母猫不会照顾小猫怎么办 刚买的小狗拉稀怎么办 母兔子吃小兔子怎么办 照片照出来背亮景人是黑的怎么办 手机透明壳变黄了怎么办 ae视频渲染太慢怎么办 3ce口红太干了怎么办 中考误用0.38mm的笔怎么办 ps画笔都锁住了怎么办 削铅笔机坏了怎么办 幼儿园小朋友不听老师话怎么办