Android源代码下载及编译开发

Ubuntu 环境下载 Android 代码

1.Git 和 Repo 的安装

首先确保在当前用户的主目录下创建一个 /bin 目录(如果没有的话),然后把它 (~/bin) 加到 PATH 环境变量中。

@ubuntu:~$ vim .bashrc 添加:

export PATH=$PATH:~/bin

@ubuntu:~$ source .bashrc

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

@ubuntu:~$ sudo apt-get install curl

这两条命令会从互联网的软件仓库中安装 git-core 和 curl 。 其中 curl 是一个利用 URL 语法在命令行方式下工作的文件传输工具,它支持很多协议,包括 FTP 、 FTPS 、 HTTP 、 HTTPS 、 TELENT 等,我们需要安装它从网络上获取 Repo 脚本文件。

对于android2.3.3可获取:


@ubuntu:~$ curl > ~/bin/repo


对于android4.1可获取:

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


这句命令会下载 repo 脚本文件到当前主目录的 bin 目录下,并保存在文件 repo 中。 最后我们需要给 repo 文件可执行权限 @ubuntu:~$ sudo chmod a+x /home/a/bin/repo

接下来我们就可以利用 repo 脚本和 Git 、 curl 软件获取 Android 的源代码了。

但许多情况下,可能你根本无法下载,下面列举了一些问题现象和解决的办法:

@ubuntu:~$ cat /etc/issue 
Ubuntu 12.04.2 LTS \n \l 
 
@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 
@ubuntu:~$ 

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

1、先是系统查看是32位的还是64位

@ubuntu:~$ getconf LONG_BIT 
32 
@ubuntu:~$ getconf WORD_BIT 
32 
@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 
@ubuntu:~$ 
@ubuntu:~$ 
@ubuntu:~$ 
@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 lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

上面可能出现如下错误;

@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 hardy multiverse  保存退出。 
 
2、sudo apt-get update 
3、sudo apt-get install sun-java6-jdk 
4、@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、@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) 
@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

其中

@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 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18539.html