Ubuntu14.04编译Andorid源码
2015-01-27 15:12
351 查看
经过两天的努力,终于把andorid源码给编译成功了。抑制住兴奋,写个总结
首先要下载源码:
在就是要配置java环境,这两天主要是被java环境给坑了。之前在windows下用惯了jdk7,然后到ubuntu上毫不犹豫地配了1.7的环境,然后各种问题,网上很多地方说需要用jdk6, 然后我就到官网下载jdk6_45(不知为何需要注册登陆),但是在编译过程中还是好多错误,错误都提示到java代码里面了,问公司的大神,说可能是需要jdk6_26 , 无奈之后还是换。终于换到jdk6_26就好了。
http://download.oracle.com/otn/java/jdk/6u26-b03/jdk-6u26-linux-x64.bin
配置好jdk的环境变量(可参考我的上一篇文章ubuntu安装配置jdk)
还需要添加一下软链接,在编译过程中需要用到
sudo ln -s -f /usr/lib/jvm/jdk1.6/bin/jar
sudo ln -s -f /usr/lib/jvm/jdk1.6/bin/javah
sudo ln -s -f /usr/lib/jvm/jdk1.6/bin/javadoc
再就是需要配置SDK到环境变量,方法如jdk
之后就开始配置android编译需要的环境,执行下面的脚本:
另,附上脚本下载地址:
下载脚本
配置好环境后就开始编译了,在此不再复述。
首先要下载源码:
在就是要配置java环境,这两天主要是被java环境给坑了。之前在windows下用惯了jdk7,然后到ubuntu上毫不犹豫地配了1.7的环境,然后各种问题,网上很多地方说需要用jdk6, 然后我就到官网下载jdk6_45(不知为何需要注册登陆),但是在编译过程中还是好多错误,错误都提示到java代码里面了,问公司的大神,说可能是需要jdk6_26 , 无奈之后还是换。终于换到jdk6_26就好了。
http://download.oracle.com/otn/java/jdk/6u26-b03/jdk-6u26-linux-x64.bin
配置好jdk的环境变量(可参考我的上一篇文章ubuntu安装配置jdk)
还需要添加一下软链接,在编译过程中需要用到
sudo ln -s -f /usr/lib/jvm/jdk1.6/bin/jar
sudo ln -s -f /usr/lib/jvm/jdk1.6/bin/javah
sudo ln -s -f /usr/lib/jvm/jdk1.6/bin/javadoc
再就是需要配置SDK到环境变量,方法如jdk
之后就开始配置android编译需要的环境,执行下面的脚本:
#!/bin/sh ######################### # === global config === # ######################### WORKDIR=`dirname $(readlink -f $0)` LOGFILE="$WORKDIR/install.log" URL_HEAD="http://openlinux.amlogic.com:8000" ######################### # === function === # ######################### check_root() { if [ "$(id -u)" != "0" ]; then echo "!!!! This script must be run as root !!!" 1>&2 echo "USAGE: please use command: sudo su - change to account root if your account is sudo user" 1>&2 echo "or use command: su - root change to account root if it's not a sudo user" 1>&2 echo "Script will exit, you need run it again" 1>&2 exit 1 else echo "OK.... you are running by root.. system will keep going..." fi } check_OS() { OS_MACHINE=`uname -m` if [ "$OS_MACHINE" = "x86_64" ]; then echo "OK~~~your OS is 64bit... you can use this script...." else echo "Sorry, This script doesn't support your OS platform.... will exit" exit 1 fi } change_sourcelist() { echo "Going to check your OS version....." OS_NUMBER=`cat /etc/lsb-release |grep RELEASE |awk -F "=" '{print $2}'` if [ "$OS_NUMBER" = "10.10" ]; then OS_VERSION="maverick" else if [ "$OS_NUMBER" = "11.10" ]; then OS_VERSION="oneiric" else if [ "$OS_NUMBER" = "12.04" ]; then OS_VERSION="precise" else if [ "$OS_NUMBER" = "13.10" ]; then OS_VERSION="saucy" else if [ "$OS_NUMBER" = "14.04" ]; then OS_VERSION="trusty" else echo "Sorry, This script only support Ubuntu 10.10 and 11.10,12.04..... will exit!!" exit 1 fi fi fi fi fi } install_software() { echo "We are going to do apt-get update..... please wait......" apt-get update echo "############################################################" echo "##### going to install samba,nfs,vim #####" echo "############################################################" apt-get install -y nfs-kernel-server vim autofs automake make perl gcc g++ } config_software() { echo "############################################################" echo "##### going to install gnutools, arm gcc #####" echo "############################################################" wget $URL_HEAD/deploy/CodeSourcery.tar.gz -P /tmp tar -zxvf /tmp/CodeSourcery.tar.gz -C /opt wget $URL_HEAD/deploy/gnutools.tar.gz -P /tmp tar -zxvf /tmp/gnutools.tar.gz -C /opt wget $URL_HEAD/deploy/gcc-linaro-arm-linux-gnueabihf.tar.gz -P /tmp tar -zxvf /tmp/gcc-linaro-arm-linux-gnueabihf.tar.gz -C /opt wget $URL_HEAD/deploy/arc-4.8-amlogic-20130904-r2.tar.gz -P /tmp tar -zxvf /tmp/arc-4.8-amlogic-20130904-r2.tar.gz -C /opt/gnutools wget $URL_HEAD/deploy/arc_gnutools.sh -P /etc/profile.d wget $URL_HEAD/deploy/arm_path.sh -P /etc/profile.d wget $URL_HEAD/deploy/repo -P /usr/bin wget $URL_HEAD/deploy/arm_new_gcc.sh -P /etc/profile.d wget $URL_HEAD/deploy/arc_new_tools.sh -P /etc/profile.d chmod +x /usr/bin/repo } install_library() { echo "############################################################" echo "##### going to install library #####" echo "############################################################" apt-get install -y python-software-properties add-apt-repository ppa:sun-java-community-team/sun-java6 apt-get update ### install the library if [ "$OS_NUMBER" = "12.04" || "$OS_NUMBER" = "13.10"]; then apt-get install -y git-core gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 \ g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 else if [ "$OS_NUMBER" = "14.04" ]; then apt-get install -y git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev lib32z1\ x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev \ libxext-doc:i386 libx11-dev:i386 libreadline6-dev:i386 libncurses5-dev:i386 zlib1g-dev:i386 \ mesa-common-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc else apt-get install -y 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 python-markdown libxml2-utils xsltproc fi fi if [ "$OS_NUMBER" = "10.10" ]; then ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so else if [ "$OS_NUMBER" = "11.10" ]; then apt-get install -y libx11-dev:i386 else if [ "$OS_NUMBER" = "12.04" || "$OS_NUMBER" = "13.10" || "$OS_NUMBER" = "14.04" ]; then apt-get install -y gcc-4.4 g++-4.4 ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so rm /usr/bin/gcc rm /usr/bin/g++ ln -s /usr/bin/gcc-4.4 /usr/bin/gcc ln -s /usr/bin/g++-4.4 /usr/bin/g++ fi fi fi } install_java_in_new_way(){ echo "############################################################" echo "##### going to install java in new way #####" echo "############################################################" apt-get purge openjdk* add-apt-repository ppa:webupd8team/java apt-get update apt-get install oracle-java6-installe } install_x_desktop() { echo "############################################################" echo "##### going to install ubuntu desktop software #####" echo "############################################################" apt-get install -y ubuntu-desktop } timing() { echo "\a Just please wait for 30 seconds....\r" for i in $(seq 60|tac);do echo -n "${i}." sleep 1 done } ###TODO#### ### NOT START BY NOW #### check_software() { if [ ! -f /tmp/software.list ] then wget $URL_HEAD/deploy/software.list -P /tmp fi SOFTLIST=/tmp/software.list SOFT=`cat $SOFTLIST` for soft in $SOFT do apt-get install -y $soft done } reboot_machine() { echo "############################################################" echo "##### going to reboot machine #####" echo "############################################################" echo "I will reboot machine after 60s... you can type ctrl+c to cancel it..." timing shutdown -r now } echo "This is the script help config ubuntu android build server conveniently... this script only support ubuntu 10.10 and 11.10 version.. by now, I only add 64bit software in it.. so please dont try on 32bit OS.. I will keep update this script if we need... Nothing need you do, just use sh auto_install_ubuntu.sh, script will help you install all we need." echo "Step 1: check root..." check_root echo "Step 3: check OS version..." check_OS echo "Step 4: Begin to install and config software..." change_sourcelist install_software config_software #install_x_desktop install_library #install_java_in_new_way check_software reboot_machine
另,附上脚本下载地址:
下载脚本
配置好环境后就开始编译了,在此不再复述。
相关文章推荐
- ubuntu14.04交叉编译vlc2.1.5源码,编译出在win32下运行的程序
- Ubuntu 14.04 LNMP源码编译环境搭建 Nginx-1.9.1 PHP-5.6.9 Mariadb-10.0.19 完整教程
- Ubuntu14.04 Android 源码编译
- Ubuntu14.04 32bit编译Android2.3.4源码全过程记录
- VisualBox ubuntu14.04 64位 android4.4.4源码编译总结
- ubuntu 14.04 kylin 编译 android 5.0源码
- 基于Ubuntu14.04 64位系统编译vlc-android源码
- Ubuntu 14.04编译 android源码出现问题搜集(持续更新)
- ubuntu14.04交叉编译vlc2.1.5源码,编译出在win32下运行的程序
- Ubuntu 14.04 (64位) 编译Android 2.3.5源码
- 使用vmware+ubuntu14.04编译android4.4.2源码
- 在ubuntu14.04上,源码编译安装Mplayer
- ubuntu14.04编译linux 3.17.内核源码
- Ubuntu 14.04 LTS 下使用源码编译安装 Sagemath 6.7 x64 (小结)
- ubuntu 14.04 源码编译postgresql