最近工作原因,需要做android x86方面的移植 (arm->x86), 現將期間的過程及遇到的問題匯總,希望可以協助和我一樣曲折中前行的同學。
環境介紹:
1. ubuntu 8.04 : 其他人可能有更新的版本,我自己用的是8.04
2. vmware :虛擬機器
3. 網路環境
準備工作:
1. 在vmware 上安裝ubuntu 8.04 這個網上教程很多,不贅述
2. 為ubuntu配置部分開發工具,可以參照http://source.android.com/source/initializing.html
ok,進入關鍵的幾步:
1. 安裝curl 這個可以用apt-get 也可以去網上下載curl.tar包,建議後者,下載最新curl包,解壓後,在解壓檔案夾執行
./configure --with-sslmakemake install
為什麼要加入 --with-ssl, 因為後面要支援https
2. 更新python、更新git 方法基本同curl
3. 下載repo,curl http://git-repo.googlecode.com/files/repo-1.19 > ~/bin/repo
其中1.19可能隨時會更新,可以訪問:https://code.google.com/p/git-repo/ 查看最新版本
4.
$ PATH=~/bin:$PATH
$ chmod a+x ~/bin/repo
$mkdir android-x86xxxxxxxxx // 建立你的源碼目錄
$ cd android-x86xxxxxx // 進入源碼目錄
5. 接下來參考 :http://www.android-x86.org/getsourcecode
這裡要注意的是:$ repo init -u git://android-x86.git.sf.net/gitroot/android-x86/x86/platform/manifest.git -b $branch
這條命令經常會報錯,如下有針對的解決辦法,請嘗試:
a. 語法錯誤1:./bin/repo: 行 1: 未預期的符號 `newline' 附近有語法錯誤
./bin/repo: 行 1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'
>> >這裡一般是由於你curl 下載不到正確的repo所致,可以 $vim ~/bin/repo 開啟repo看看內容就知道了
b. 語法錯誤2:SyntaxError: invalid syntax
>>>該錯誤一般是由於python解析出錯,更新python可以解決(我目前版本是python 2.7.3)
c. repo錯誤:
IOError: [Errno 2] No such file or directory: '/home/androidcode/.repo/manifests/.git/HEAD'
>>>刪除本地的 .repo , $rm -r .repo 這裡要注意的是,往往是由於你curl到的是一個不正確的repo,請檢查curl步驟
d. ....
e. fatal: Cannot get http://gerrit.googlesource.com/git-repo/clone.bundlefatal: error unknown url type: https
>>> apt-get install libssl-dev openssl 下載更新libssl-dev openssl
f. repo init -u後timeout :開啟repo檔案,修改其中的http://gerrit.googlesource.com/git-repo為:https://code.google.com/p/git-repo
g. 406錯誤一般是由於你的repo與這裡的init的地址不對應,參考上面的內容,修正curl後面的地址值或者repo init的地址值 找到匹配的