Android源码编译(二)开始编译

来源:互联网 发布:淘宝上架宝贝数量 编辑:程序博客网 时间:2024/05/22 06:06

下载完成源码后,需要开始配置编译环境了,


jdk1.6 

gcc 1.4

g++ 1.4


增加映射,我不知道有没有用,但我做了..

cd /usr/bin  ln -s -f /usr/local/java/jdk1.6.0_31/bin/javah  ln -s -f /usr/local/java/jdk1.6.0_31/bin/jar  ln -s -f /usr/local/java/jdk1.6.0_31/bin/javadoc

下载gcc g++1.4版本,必须使用1.4

sudo apt-get install gcc-4.4  sudo apt-get install g++-4.4    cd /usr/bin  sudo mv gcc gcc.bak  sudo ln -s gcc-4.4 gcc  sudo mv g++ g++.bak  sudo ln -s g++-4.4 g++ 


可以查一下版本是否正确
gcc -v  g++ -v  

因为我最终只需要在虚拟机运行即可,所以如果你也是,就继续向下做,如果不是,看文章底部的链接 需要再一些配置

下载一个工具:

sudo apt-get install libswitch-perl


接着就可以开始编译源码了

在源码目录下执行

source build/envsetup.sh

lunch full-eng  

该命令主要由两个参数组成,第一个参数可选的值有full、full_maguro、full_panda,分别代表模拟器、手机和开发板PandaBoard(开发板是一个单片机或者称为开发板,如果不好理解的话你可以将它想象成一个没安外壳的设备,这是专门提供给开发者的开发工具)。第二个参数可选的值有user、userdebug和eng。user版本没有root权限,类似于手机上的操作系统;userdebug版本类似于user版本,但是有root权限,可以用于调试;eng版本主要用于调试,同时带有很多调试工具。
在这里,我们选择在模拟器上运行的调试版本,所以使用参数full-eng。
最后,我们需要运行一个命令来开始编译:

make -j4  
make之后的参数jN代表编译使用的线程数,与CPU的内核总数有关,正好是CPU内核总数的两倍。如果你的CPU是单核的就应该运行make -j2,当然线程数越多编译的速度越快,所以如果是用虚拟机的话,可以在电脑配置允许的情况下使用尽量多的核数。




这是编译成功,



运行结果:先指定运行目标机

source build/envsetup.sh  lunch full-eng  


运行:使用虚拟机运行

emulator  



参考链接:http://blog.csdn.net/zhaoxy_thu/article/details/12683403


原创粉丝点击