linux環境Android源碼編譯環境搭建
java
以前編譯系統apk(區別通常apk具備系統簽名)、系統庫、鏡像都是在別人的搭建好的服務器上進行操做的,雖然從事android移植工做快兩年了,但還沒本身動手搭建一個android源碼編譯環境,廢話很少說,go(HISI芯片,源碼是Hisi提供的)。 linux
1、安裝linux操做系統 android
能夠本身的電腦上裝一個虛擬機或者雙系統,建議用另一臺電腦作服務器,方便之後的工做。linux操做系統安裝方式有不少,下面介紹幾種經常使用的安裝方法。
1.用光盤安裝(最簡單)
2.linux鏡像+wubi.exe(網上資料不少)
首先,空出一個盤符(如F盤),將下載的ubuntu-12.04-desktop-i386.iso單獨放在另外一個盤如(D盤),從D盤裏的鏡像中解壓出 wubi.exe,並將ubuntu-12.04-desktop-i386.iso和 wubi.exe放在同一個文件夾下用英文命名(如ubuntu-12.04),而後雙擊 wubi.exe會安裝而不會再去下載鏡像,安裝過程當中讓你選擇盤符時選擇想要安裝盤如F盤。
3.使用u盤進行安裝(博主推薦)
http://blog.csdn.net/xiazdong/article/details/7523331 git
注意:安裝的時候有install和install_server兩個選項,server是不帶desk無桌面版本,安裝的時候選install就好了 shell
2、搭建編譯環境(服務、環境變量等) ubuntu
安裝以後執行下列步驟: vim
步驟1:添加root權限
在新系統安裝以後是沒有root用戶的,咱們須要經過sudo passwd root來添加root用戶並賦予初始密碼。 安全
步驟2:安裝SSH服務 bash
步驟3:配置samba 服務器
SMB(Server Message Block 信息服務塊)協議,是一種在局域網上共享文件夾和打印機的一種通訊協議,它爲局域網內不一樣計算機提供文件以及打印機等資源的共享服務。
[share]path = /home/shareavailable = yesbrowseable = yespublic = yeswritable = yes(注意: 上面的設置中,username 換成你的用戶名, 若是在前面有「#」,須要先把它去掉)
#set java environment
export JAVA_HOME=/usr/local/java/jdk1.6.0_38
export JRE_HOME=/usr/local/java/jdk1.6.0_38/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
java -version
步驟5:配置交叉工具鏈
方法1:直接按照hisi的文檔,執行他們提供的腳本一步步來
(1)安裝依賴包
$ sudo apt-get install git-core gnupg flex bison gperf \ build-essential zip curl zlib1g-dev libc6-dev \ lib32ncurses5-dev ia32-libs x11proto-core-dev \ libx11-dev lib32readline5-dev lib32z-dev \ libgl1-mesa-dev g++-multilib mingw32 tofrodos( 2)確保服務器上的shell是bash,若是服務器上的shell不是bash,則執行下面操做
方法2:其餘幾個步驟和上面差很少,就是不用執行hisi提供的腳本,本身實現腳本里面操做
echo $PATH
3、在編譯過程當中出現的問題
(1)lunch的時候出現
root@ubuntu:/home/ipanel/zhoulc/Android_4.0_JiuLian# lunch full_godbox-eng The program 'make' is currently not installed. You can install it by typing: apt-get install make ** Don't have a product spec for: 'full_godbox' ** Do you have the right repo manifest?直接執行:apt-get install make
(2)lunch的時候/bin/bash: prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gcc: No such file or directory錯誤
失敗的時候出現了會報下面的錯誤(很是頭疼,找了很久才找到)
root@ubuntu64:/home/zhangbin# root@ubuntu64:/home/zhangbin# sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'lib32z1-dev' instead of 'lib32z-dev' Package lib32readline5-dev is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32readline-gplv2-dev而後執行下面的命令就能夠解決找不到/bin/bash: prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gcc: No such file or directory的問題了
root@ubuntu64:/home/zhangbin# sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos
而後vi 把/etc/profile 改回來
(4)編譯錯誤
(5)編譯錯誤
/bin/bash: xmllint: command not found
方法:sudo apt-get install libxml2-utils
/bin/bash: xsltproc: command not found
方法:sudo apt-get install xsltproc
最後附送兩份文檔
因爲博主沒有按文檔一步步來操做,因此搭建過程當中出現了各類各樣的錯誤,有文檔仍是好幫手啊。本身動手親自作了,才知道好多細節問題要注意,最大的收穫仍是屬性了linux的環境和vi操做。
ubuntu10.04配置手冊.pdf+Android SDK 開發指南.pdf.rar