歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS環境下編譯Android系統

CentOS環境下編譯Android系統

日期:2017/2/28 16:01:07   编辑:Linux教程

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.0

Copyright © Linux教程網 All Rights Reserved