Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android源碼編譯

Android源碼編譯

編輯:關於Android編程

簡要說明

現在的Android應用開發開源項目感覺就像春秋戰國時期,各種思想雨後春筍,百花齊放,如算法,如圖形,如數據庫,如網絡協議,林林總總、煞是好看,Github也成為了開源者及受益者的樂園,現在我們就跟隨開源的腳步,追隨耀眼的明星,站在巨人的肩膀上,開啟我們的成長之路吧。

Android源碼的開源,也是最大的開源了,當然有人會說是開放不是開源, 這個我們就不要計較了,能下載到我們需要的系統代碼,已經很不錯了。Android的源碼下載編譯對於初學者還是很頭疼的, 我們就從這裡開始吧。

下載安裝VM虛擬機和ubuntu ios文件

我這裡選的版本是7.1.5 build-491717 、ubuntu-11.04-desktop-i386

預備環境

本來呢, 選擇的是4.4.1版本的源碼,但是源碼實在太大,都超過了我設定的虛擬機硬盤50G,果斷放棄了,估計編譯也得花很長時間。後來就選擇了2.3.1版本的源碼,下載源碼之前首先要做一些准備工作

買一個穩定的VPN,這是下載源碼和所需軟件

安裝Git工具

sudo apt-get install git-core gnupg

安裝Jdk

下面的增加、更新軟件源的命令經常用到

sudo add-apt-repository ppa:ferramroberto/java

sudo apt-get update

安裝

sudo apt-get install sun-java6-jre sun-java6-plugin

sudo apt-get install sun-java6-jdk

 

下載repo,並設置權限

wget https://dl-ssl.google.com/dl/googlesource/git-repo/repo

chmod 777 repo

cp repo /bin/

創建一個Android的文件夾,並切換到它目錄下

mkdir Android

cd Android

下載android源碼

默認是下載最新版

repo init -u www.2cto.com

我是指定了2.3.1的版本分支

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

接著就是下載了

repo sync

下載是個很漫長的過程,得網速穩定,能翻牆,大致需要2~3天吧,總大小有4~5G吧,速度快的話,可能還不要那麼長時間

好了, 下載完的樣子就如下圖

\

Make編譯

Make

當下載完,不要以為就結束了, 問題才剛剛開始, 呵呵。 為什麼這樣說呢, 因為編譯的時候會遇到各式各樣的問題, 主要是2方面:

提示錯誤信息 You are attempting to build on a 32-bit system.

這裡把檢查是不是64位的腳本注釋掉就行了

修改build/core目錄下的main.mk文件:

ifeq ($(BUILD_OS),linux)

build_arch := $(shell uname -m)

#Change the following line for building on a 32-bit system.

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

#$(warning************************************************)

#$(warning You are attempting to build on a 32-bit system.)

找到下列文件,也同時注釋掉:

/external/clearsilver/cgi/Android.mk

/external/clearsilver/cs/Android.mk

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

/external/clearsilver/util/Android.mk

修改LOCAL_CFLAGS和LOCAL_LDFLAGS變量:

# This forces a 64-bit build for Java6

# Change the following two lines for building on a 32-bit system.

# LOCAL_CFLAGS += -m64

# LOCAL_LDFLAGS += -m64

 

第二個出現的問題就是各種軟件沒有安裝的問題

所以最好編譯前安裝好這些軟件, 否則編譯大半天出了問題還得,重頭再來,那叫一個桑心啊。

sudo apt-get install bison

sudo apt-get install bison flex

sudo apt-get install zlib-devel

sudo apt-get install libncurses5-dev

sudo apt-get install libx11-dev

sudo apt-get install gperf

對於其他相似問題, 就百度一下看看缺少哪個,然後執行一下就好了,假如找不到這個,就的找找他在哪個源裡面了, 把他添加到我們的軟件源文件裡面,然後再次初始化。

好了,下面就是Make成功後輸出的消息,看著是不是很激動,呵呵

\

 

Emulator啟動模擬器

這一步就簡單多了,把我們編譯後的輸出bin添加到環境變量

export PATH=$PATH:~/Android/out/host/linux-x86/bin

export ANDROID_PRODUCT_OUT=~/Android/out/target/product/generic

運行emulator

emulator

下面就是我們期待已久的界面了,看到這個,前面的付出也算得到回報了

\

 

PS:編輯文字真麻煩, world過來各種樣式都沒了,也不支持離線編輯,哎。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved