在sublime text中编辑了Linux(ubuntu14.04)上编译Android源码的环境搭建的详细过程。 不幸的是,这种数据丢失迫使我回去再次手写。 这次重新编辑文章的时候,可能有很多细节就记不太清楚了。 如果您有任何疑问,请在下面给我留言。
网上上传的方式大多是apt-get install来安装jdk。 实际操作证明这是不可能的。 这里是jdk6的下载地址。
这里根据你的机器配置选择自解压文件(self-extracting)即可。
下载上面的jdk-6u38-ea-bin-b04-linux-i586-31_oct_2012.bin文件并更改属性以赋予其可执行权限。
./jdk-6u38-ea-bin-b04-linux-i586-31_oct_2012.bin即可安装
2.Linux配置jdk的环境变量
执行命令 sudo gedit /etc/environment
将自己追加到环境变量文件的PATH中 1.注意bin目录下jdk目录的路径。
例如:/usr/local/java/jdk1.6.0_38/bin
并降低 CLASSPATH 和 JAVA_HOME 环境变量
例如:
CLASSPATH=.:/usr/local/java/jdk1.6.0_38/lib
JAVA_HOME=/usr/local/java/jdk1.6.0_38
执行订单:
sudo 源 /home/yourloginname/.bashrc
因为ubnuntu中默认安装了openjdk,但是我们需要jdk6来编译Android源码,所以需要设置默认为jdk6
sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.6.0_38/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.6.0_38/bin/javac 300
此时选择jdk6
java版本
如果能看到自己安装的jdk6的版本号linux源码编译好还是编译好的,说明jdk环境变量已经配置成功。
6.其他需要提前安装的软件
说明一下,为了保证编译过程不至于因为个别软件的缺失而中断,我们必须做好计划,不打无计划的仗。
网上很多高手已经提供了很多需要提前安装的软件。 我将在下面总结它们。
sudo apt-get install build-essential
须藤 apt-get 安装 g++
sudo apt-get install libc6-dev
sudo apt-get 安装补丁
sudo apt-get install texinfo
sudo apt-get install libncurses-dev
sudo apt-get install git-core gnupg
须藤 apt-get 安装 Flex
须藤 apt-get 安装野牛
sudo apt-get 安装 gperf
sudo apt-get install libsdl-dev
sudo apt-get install libesd0-dev
sudo apt-get install libwxgtk2.6-dev
sudo apt-get install build-essential
须藤 apt-get 安装 zip
sudo apt-get 安装curl
sudo apt-get install ncurses-dev
sudo apt-get install zlib1g-dev
sudo apt-get install valgrind
sudo apt-get install python2.5(我没有安装软件成功,最后也没有出现问题)
sudo apt-get install libgtk2.0-0:i386
sudo apt-get install libpangox-1.0-0:i386
sudo apt-get install libpangoxft-1.0-0:i386
sudo apt-get install libidn11:i386
sudo apt-get install gstreamer0.10-pulseaudio:i386
sudo apt-get install gstreamer0.10-plugins-base:i386
sudo apt-get install gstreamer0.10-plugins-good:i386
sudo apt-get install gstreamer0.10-ffmpeg:i386 (我没有安装成功软件,最后也没有出现问题)
sudo apt-get install libxml2-utils
sudo apt-get install xsltproc (未测试必要性)
另一种解释:上面几个软件最后几个都是i386,因为有错误(具体错误我现在实在记不清了)。 错误原因是在64位Linux(Ubuntu)上编译Android需要安装ia32-libs软件包。 源代码还需要32位Linux包,因此需要ia32-libs支持包。 不过网上根本没有找到ia32-libs这个软件包,也没有找到实际可用的解决方案,不过从Ubuntu官网可以找到。 你看,这个ia32-libs只是几个软件包的集合,所以下载安装几个就可以达到我们的目的了。
7. 正式编译Android源码
做了这么多规划,终于可以开始正题了。根据Android官方网站,只需编译Android源码,执行以下三个命令即可:
①源码build/envsetup.sh
②午餐
这时候就需要选择一个编译平台
③make-jn
这里要注意n的值。 网上通常说是CPU核心数的两倍,还有一种说法是CPU核心数加1,我没有验证过哪个更准确。
但值得提醒的是,虽然使用较大的n值会提高编译速度,但如果n值太大,编译会报错。
如果您确实不确定应该使用什么值 nlinux源码编译好还是编译好的,只需使用 make 命令。
从开始编译到结束,这个时间还是很长的。 我在虚拟机上搭建了Ubuntu14.04。 分配的显存为2G。 我直接使用make命令。 第一次编译是9:30开始编译到17:00完成的。 如果机器配置好一些,或者在实际的Ubuntu机器上编译时间应该会更长。
至此,在Linux(ubuntu14.04)上编译Android源码的环境搭建和编译过程就已经完成了。
最后附上在Ubuntu上安装7z软件包的命令和使用方法。
安装 7z: apt-get install p7zip-full
使用7z:7z x file file为要解压的文件名