Android原始碼下載及編譯開發

來源:互聯網
上載者:User

Ubuntu 環境下載 Android 代碼

1.Git 和 Repo 的安裝

首先確保在目前使用者的主目錄下建立一個 /bin 目錄(如果沒有的話),然後把它 (~/bin) 加到 PATH 環境變數中。

www.bkjia.com@ubuntu:~$ vim .bashrc 添加:

export PATH=$PATH:~/bin

www.bkjia.com@ubuntu:~$ source .bashrc

www.bkjia.com@ubuntu:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/a/bin  www.bkjia.com@ubuntu:~$ sudo apt-get install git-core

www.bkjia.com@ubuntu:~$ sudo apt-get install curl

這兩條命令會從互連網的軟體倉庫中安裝 git-core 和 curl 。 其中 curl 是一個利用 URL 文法在命令列方式下工作的檔案傳輸工具,它支援很多協議,包括 FTP 、 FTPS 、 HTTP 、 HTTPS 、 TELENT 等,我們需要安裝它從網路上擷取 Repo 指令檔。

對於android2.3.3可擷取:


@ubuntu:~$ curl http://android.git.kernel.org/repo > ~/bin/repo


對於android4.1可擷取:

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


這句命令會下載 repo 指令檔到當前主目錄的 bin 目錄下,並儲存在檔案 repo 中。 最後我們需要給 repo 檔案可執行許可權 www.bkjia.com@ubuntu:~$ sudo chmod a+x /home/a/bin/repo

接下來我們就可以利用 repo 指令碼和 Git 、 curl 軟體擷取 Android 的原始碼了。

但許多情況下,可能你根本無法下載,下面列舉了一些問題現象和解決的辦法:

www.bkjia.com@ubuntu:~$ cat /etc/issue 
Ubuntu 12.04.2 LTS \n \l 
 
www.bkjia.com@ubuntu:~$ sudo lsb_release -a 
[sudo] password for jianguoliao: 
No LSB modules are available. 
Distributor ID: Ubuntu 
Description:    Ubuntu 12.04.2 LTS 
Release:    12.04 
Codename:  precise 
www.bkjia.com@ubuntu:~$ 

上面命令查看自己的ubuntu的版本號碼:12.04

1、先是系統查看是32位的還是64位

www.bkjia.com@ubuntu:~$ getconf LONG_BIT 
32 
www.bkjia.com@ubuntu:~$ getconf WORD_BIT 
32 
www.bkjia.com@ubuntu:~$ file /bin/ls 
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xae048fd2a071afcb017d9091f4a78835e27340b2, stripped 
www.bkjia.com@ubuntu:~$ 
www.bkjia.com@ubuntu:~$ 
www.bkjia.com@ubuntu:~$ 
www.bkjia.com@ubuntu:~$ uname -m 
i686 
 
 
uname -m 如果出現i386 i686 i586則是32位 如果出現amd64 則是64位系統 

2、安裝jdk1.6

方案一,可能會出現錯誤


Installing the JDK

--------------------------------------------------------------------------------

The Sun JDK is no longer in Ubuntu's main package repository. In order to download it, you need to add the appropriate repository and indicate to the system which JDK should be used.

Java 6: for Gingerbread and newer

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

上面可能出現如下錯誤;

www.bkjia.com@ubuntu:~$ sudo apt-get install sun-java6-jdk 
正在讀取軟體包列表... 完成 
正在分析軟體包的相依樹狀結構       
正在讀取狀態資訊... 完成       
現在沒有可用的軟體包 sun-java6-jdk,但是它被其它的軟體包引用了。 
這可能意味著這個缺失的軟體包可能已被廢棄, 
或者只能在其他發布源中找到 
 
E: 軟體包 sun-java6-jdk 沒有可供安裝的候選者 

方案二  建議採用下面這個方法,我12.04的ubuntu版本,64位的用官方網站用的第一種方法沒有成功

 sudo gedit /etc/apt/sources.list 
開啟源列表,在最後一行添加 
 
deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse  儲存退出。 
 
2、sudo apt-get update 
3、sudo apt-get install sun-java6-jdk 
4、www.bkjia.com@ubuntu:~$ sudo update-alternatives --config java 
There is only one alternative in link group java: /usr/lib/jvm/java-6-sun/jre/bin/java 
Nothing to configure. 
5、www.bkjia.com@ubuntu:~$ java -version 
java version "1.6.0_06" 
Java(TM) SE Runtime Environment (build 1.6.0_06-b02) 
Java HotSpot(TM) Server VM (build 10.0-b22, mixed mode) 
www.bkjia.com@ubuntu:~$ 

Installing required packages (Ubuntu 12.04)

--------------------------------------------------------------------------------

Building on Ubuntu 12.04 is currently only experimentally supported and is notguaranteed to work on branches other than master.

$ sudo apt-get install git gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so


3、安裝git

sudo apt-get install git-core curl 

這條命令會從互連網的軟體倉庫中安裝 git-core 和 curl

 

4、

Installing Repo

--------------------------------------------------------------------------------

Make sure you have a bin/ directory in your home directory and that it is included in your path:

$ mkdir ~/bin
$ PATH=~/bin:$PATH
Download the Repo tool and ensure that it is executable:

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

其中

www.bkjia.com@ubuntu:~$  curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo 
  % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current 
                                Dload  Upload  Total  Spent    Left  Speed 
  0    0    0    0    0    0      0      0 --:--:--  0:04:00 --:--:--    0curl: (7) Failed to connect to 2404:6800:4005:c00::88: Network is unreachable 

  • 1
  • 2
  • 3
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.