centos android编译,CentOS环境下编译Android系统

本文分享在CentOS环境下编译Android的详细步骤。包括安装CentOS系统、确保网络连接、安装git和编译器,下载Android源码,最后进行编译。还针对32位系统编译时可能遇到的问题给出了解决办法,如修改部分文件的编译选项和版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu环境编译Android的文章满天飞,但是在CentOS下的介绍却是少之又少,作为CentOS的爱好者,实在有点看不过去了,于是自己在CentOS上亲自操刀一把,还好一切比较顺利!现在写出来与大家分享一下!

1.安装CentOS 5.x  - CentOS 6均可,还是老规矩,安装的时候自定义安装,能勾的都选上,别告诉我你的硬盘不够,如果这样我只能晕了!

2.确保上网OK!否则后面的就够谈了。

3.安装git

yum install zlib-devel

yum install openssl-devel

yum install perl

yum install cpio

yum install expat-devel

yum install gettext-devel

yum install autoconf

wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz

tar xzvf git-latest.tar.gz

cd git-{date}

autoconf

./configure --with-curl=/usr/local

make & make install

4.编译器安装,这里不会涉及到应用开发的工具安装!本人对应用开发兴趣不大。

下载一个jdk,本人选择jdk-6u29-linux-i586.bin,到哪里下?这种问题请不要问了。

然后,

$ chmod a+x ./jdk-6u29-linux-i586.bin

$ ./jdk-6u29-linux-i586.bin

两条命令之后,打开/etc/profile编辑,在最后加上,

export Java_HOME=/opt/jdk/jdk1.6.0_29

export ANDROID_JAVA_HOME=$JAVA_HOME

export JRE_HOME=/opt/jdk/jdk1.6.0_29/jre

export PATH=/opt/jdk/jdk1.6.0_29/bin:$PATH

然后

$ source /ect/profile

那么编译器已经OK了!

5.下载android了,如果git已经顺利安装,这里就很简单了!

$ mkdir ~/bin $ PATH=~/bin:$PATH

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo

当然,repo安装在别的目录也是一样的。没有影响,看个人爱好!repo一定要在10K以上,否则你的repo是用不了的。

$ mkdir /opt/android

本人比较喜欢在opt下干事情!

$ cd  /opt/android

repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.3_r1

$ repo sync

这里才真正开始下载,大约10个小时,也就下载完了!

6.编译

$ ./build/setupenv.sh

$ lunch 后选择1,当然选别的也行,看你想干什么而定!

$ make

编译的结果就是三个文件,system.img,ramdisk.img,userdata.img

如果是32位系统,估计会遇到点小阻力,可修改如下!

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

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

external/clearsilver/cgi/Android.mk

external/clearsilver/java-jni/Android.mk

external/clearsilver/util/Android.mk

external/clearsilver/cs/Android.mk

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

prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: /lib/i686/nosegneg/libc.so.6: version `GLIBC_2.11' not found (required by

prebuilt/linux-x86/toolchain/arm- eabi-4.4.3/bin/arm-eabi-gcc)

make: *** [out/target/product/generic/obj/lib/crtbegin_dynamic.o] 错误 1

这是在32位linux上编译引起的arm-eabi-4.4.3版本问题,所以需要修改arm-eabi-4.4.0:

在build/core/combo/TARGET_linux-arm.mk里面, /toolchain/arm-eabi-4.4.3 改成/toolchain/arm-eabi-4.4.00b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值