Ubuntu 12.04 64位编译android 4.2
来源:互联网 发布:javascript判断相等 编辑:程序博客网 时间:2024/06/01 09:02
############################################################################################################################################################
一、安装并配置JDK
1.安装JDK6.0
(1).下载JDK:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR
选择64位的linux版本,这里安装好以后,后面设置应用开发环境还用得上,
这时我下载的最新版本是jdk-6u45-linux-x64.bin
(2). 安装
修改文件的权限
chmod 777 jdk-6u45-linux-x64.bin
执行安装,进入jdk-6u45-linux-x64.bin所在目录,执行:
./jdk-6u33-linux-x64.bin
2. 配置环境变量
方法一:
修改/etc/profile 或者修改/etc/enviroment , 在其后面添加java文件夹的路经
export JAVA_HOME=/home/gexueyun/jdk1.6.0_33
export PATH=$PATH:$JAVA_HOME/bin:/home/gexueyuan/android-sdk-linux/platforms-tools:/home/gexueyuan/eclipse/:/home/gexueyuan/bin
方法二:
修改当前用户目录下的 .bashrc文件,在文件末尾添加如下:
# for java 2014.3.20
export JAVA_HOME=/home/insound/compile_tools/jdk1.6.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin
以上两种方法任选其一
此时输入:java -version可能还看不见版本,重启或者重新登录后就能看见java的版本
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)
############################################################################################################################################################
二、安装、配置交叉编译器
1. 解压arm-2010q1-188-arm-none-eabi-i686-pc-linux-gnu.tar.bz2(用于编译uboot)到 /home/insound/compile_tools/目录下; 解压arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2(用于编译内核)到/home/insound/compile_tools/目录下
2. 解压gnutools-arc2.3-p0-ubuntu-9.04-2010-5-10.tar.bz2(编译uboot需要gnutools)到/home/insound/compile_tools/目录下
3. 修改当前用户目录下的 /home/insound/.bashrc文件,在文件末尾添加如下:
# for kernel and u-boot
export PATH="$PATH:/home/insound/compile_tools/arm-2010q1/bin:/home/insound/compile_tools/opt/gnutools/arc2.3-p0/elf32-4.2.1/bin"
############################################################################################################################################################
三、安装必要的编译包
1. ubuntu12.04下的安装包命令为:
$ 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 apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs
x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev gcc-multilib g++-multilib mingw32 tofrodos
python-markdown libxml2-utils xsltproc
注:
64位ubuntu装32位的库
apt-get install ia32-libs
2. 执行如下命令
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
参考:http://source.android.com/source/initializing.html#installing-required-packages-ubuntu-1004-1110
3. 安装usb驱动(可选)
由于ubuntu的系统设置问题,普通用户是没有权限获取usb设备的,所以需要创建下面这个文件
/etc/udev/rules.d/51-android.rules
# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo/crespo5g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
# adb protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>"
# fastboot protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>"
# adb protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
# fastboot protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
# adb protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard ES)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"
其中username是你需要获取权限的用户名
############################################################################################################################################################
四、编译源代码
1.初始化脚本
$ source build/envsetup.sh
$ lunch full-eng
第二个命令的参数可以参考官网,说明很详细,你想生成什么样的文件,就设定什么样的参数
http://source.android.com/source/building.html
2.编译代码:
$ make -jN
其中N参数代表你计算机的线程参数,数字越大,编译速度越快,但是要看你计算机支持到什么地步
事实证明,4.6的GCC也可以编译成功,不像网上说的那样只能用gcc4.4
其实,编译android系统和host主机自带的gcc版本没有关系,用的是源代码文件夹prebuild中内置的交叉工具链,如果对GCC工具链还是不放心,那么就安装一个4.4版本的gcc:
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
安装完成以后,进入/usr/bin目录
$ ls -l gcc*
显示如下:
lrwxrwxrwx 1 root root 7 Sep 3 13:45 gcc -> gcc-4.6
-rwxr-xr-x 1 root root 259232 Apr 16 2012 gcc-4.4
-rwxr-xr-x 1 root root 353216 Apr 16 2012 gcc-4.6
先备份一下原来的gcc软链接,然后新建软链接gcc指向gcc-4.6
sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc
同理,修改下g++。
然后查看gcc和g++版本号,就能发现都显示4.4.7的版本
gcc --version
g++ --version
#############################################################################################################################################################
五、运行emulator
编译成功后,运行模拟器
$ emulator
如果找不到命令,那么重新输入:
$ source build/envsetup.sh
$ lunch full-eng
再运行
$ emulator
############################################################################################################################################################
ubuntu12.04 下android4.0源码编译
http://www.open-open.com/lib/view/open1347779191349.html
***搭建android开发平台及源码编译,详情可参考android官方网站:http://source.android.com
一、安装并配置JDK
1.安装JDK6.0
(1).下载JDK:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR
选择64位的linux版本,这里安装好以后,后面设置应用开发环境还用得上,
这时我下载的最新版本是jdk-6u45-linux-x64.bin
(2). 安装
修改文件的权限
chmod 777 jdk-6u45-linux-x64.bin
执行安装,进入jdk-6u45-linux-x64.bin所在目录,执行:
./jdk-6u33-linux-x64.bin
2. 配置环境变量
方法一:
修改/etc/profile 或者修改/etc/enviroment , 在其后面添加java文件夹的路经
export JAVA_HOME=/home/gexueyun/jdk1.6.0_33
export PATH=$PATH:$JAVA_HOME/bin:/home/gexueyuan/android-sdk-linux/platforms-tools:/home/gexueyuan/eclipse/:/home/gexueyuan/bin
方法二:
修改当前用户目录下的 .bashrc文件,在文件末尾添加如下:
# for java 2014.3.20
export JAVA_HOME=/home/insound/compile_tools/jdk1.6.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin
以上两种方法任选其一
此时输入:java -version可能还看不见版本,重启或者重新登录后就能看见java的版本
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)
############################################################################################################################################################
二、安装、配置交叉编译器
1. 解压arm-2010q1-188-arm-none-eabi-i686-pc-linux-gnu.tar.bz2(用于编译uboot)到 /home/insound/compile_tools/目录下; 解压arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2(用于编译内核)到/home/insound/compile_tools/目录下
2. 解压gnutools-arc2.3-p0-ubuntu-9.04-2010-5-10.tar.bz2(编译uboot需要gnutools)到/home/insound/compile_tools/目录下
3. 修改当前用户目录下的 /home/insound/.bashrc文件,在文件末尾添加如下:
# for kernel and u-boot
export PATH="$PATH:/home/insound/compile_tools/arm-2010q1/bin:/home/insound/compile_tools/opt/gnutools/arc2.3-p0/elf32-4.2.1/bin"
############################################################################################################################################################
三、安装必要的编译包
1. ubuntu12.04下的安装包命令为:
$ 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 apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs
x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev gcc-multilib g++-multilib mingw32 tofrodos
python-markdown libxml2-utils xsltproc
注:
64位ubuntu装32位的库
apt-get install ia32-libs
2. 执行如下命令
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
参考:http://source.android.com/source/initializing.html#installing-required-packages-ubuntu-1004-1110
3. 安装usb驱动(可选)
由于ubuntu的系统设置问题,普通用户是没有权限获取usb设备的,所以需要创建下面这个文件
/etc/udev/rules.d/51-android.rules
# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo/crespo5g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
# adb protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>"
# fastboot protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>"
# adb protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
# fastboot protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
# adb protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard ES)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"
其中username是你需要获取权限的用户名
############################################################################################################################################################
四、编译源代码
1.初始化脚本
$ source build/envsetup.sh
$ lunch full-eng
第二个命令的参数可以参考官网,说明很详细,你想生成什么样的文件,就设定什么样的参数
http://source.android.com/source/building.html
2.编译代码:
$ make -jN
其中N参数代表你计算机的线程参数,数字越大,编译速度越快,但是要看你计算机支持到什么地步
事实证明,4.6的GCC也可以编译成功,不像网上说的那样只能用gcc4.4
其实,编译android系统和host主机自带的gcc版本没有关系,用的是源代码文件夹prebuild中内置的交叉工具链,如果对GCC工具链还是不放心,那么就安装一个4.4版本的gcc:
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
安装完成以后,进入/usr/bin目录
$ ls -l gcc*
显示如下:
lrwxrwxrwx 1 root root 7 Sep 3 13:45 gcc -> gcc-4.6
-rwxr-xr-x 1 root root 259232 Apr 16 2012 gcc-4.4
-rwxr-xr-x 1 root root 353216 Apr 16 2012 gcc-4.6
先备份一下原来的gcc软链接,然后新建软链接gcc指向gcc-4.6
sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc
同理,修改下g++。
然后查看gcc和g++版本号,就能发现都显示4.4.7的版本
gcc --version
g++ --version
#############################################################################################################################################################
五、运行emulator
编译成功后,运行模拟器
$ emulator
如果找不到命令,那么重新输入:
$ source build/envsetup.sh
$ lunch full-eng
再运行
$ emulator
############################################################################################################################################################
ubuntu12.04 下android4.0源码编译
http://www.open-open.com/lib/view/open1347779191349.html
***搭建android开发平台及源码编译,详情可参考android官方网站:http://source.android.com
部分资料参考本以下网站:
0 0
- Ubuntu 12.04 64位编译android 4.2
- Ubuntu 12.04 64位编译android 4.1.1_r3
- Ubuntu 12.04 64位编译android 4.1.1_r3
- Ubuntu 12.04 64位编译android 4.1.1_r3
- Ubuntu 12.04 64位编译android 4.1.1_r3
- Ubuntu 12.04 64位编译android 4.1.1_r3
- Ubuntu 12.04 LTS 64位编译Linphone-android 2.1.1
- Ubuntu 12.04 64位编译android 4.4.2
- Ubuntu 12.04 64位编译android 4.1.1_r3
- Ubuntu 64位 编译Android 4.0源码
- Ubuntu 64位编译 android 4.0源码
- Ubuntu 64位编译 android 4.0源码
- 64位 Ubuntu Android 源码编译
- 64位Ubuntu Kylin14编译android内核
- ubuntu 12.04 64位编译ics
- 64位Ubuntu 12.04 编译Linux0.00
- 64位 Ubuntu android studio 编译android工程出错
- 64位Ubuntu 10.10编译Android 2.3.1源代码
- Java中断机制 Interrupt and Stop
- 安装oracle grid infrastructure时,无法输入密码
- android bluetooth 移植相关注意事项
- s3c2410_gpio_setpin()等系列函数
- 基于J2EE平台下Flex4.6+BlazeDS+Spring3+Hibernate3+MySQL实战物业管理系统
- Ubuntu 12.04 64位编译android 4.2
- (经典)分页组件,3种不同样式的分页效果,数字,按钮,标题搜索等功能
- 2014年4月操作系统份额:Windows XP仍然在26%以上,Linux微涨
- Android各版本份额分布
- ubuntu 设置JDK
- Eclipse 如何生成Lib库文件,提高代码通用性
- Maven实战(不断细化中)
- SOAPpy安装错误SyntaxError: from __future__ imports must occur at the beginning of the file原因
- Delphi 让子窗体显示在任务栏上的几种方法