ubuntu 32位编译android,ubuntu编译linux内核
大家好,今天来为大家分享ubuntu 32位编译android的一些知识点,和ubuntu编译linux内核的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
android怎样编译kernel命令make
android怎样编译kernel命令make?
1.准备工作:(ubuntu111032位)
ubuntu等linuxOS,下载好eclipse,安装好JDK,安装好android的SDK,在eclipse中成功打开android手机模拟器即OK。
2.初始化编译环境:
关注该网页上的“installingrequiredpackages”,其中有的软件包因为版本问题而安装不上,不用管它,之后遇到错误再单独解决。
3.下载内核源码:
android2.3内核下载需要等待一段时间。
4.下载交叉编译器:
该步骤有可能耗费大量时间,依据网速不同,几个小时到几天不等,或许可以尝试gitclone后面的地址只下载prebuilt/linux-x86/toolchain
5.设置参数以及编译:
$exportARCH=arm
$exportSUBARCH=arm
$exportCROSS_COMPILE=arm-eabi-
$cdgoldfish//进入下载的源代码目录
$gitcheckout
$makegoldfish_defconfig
$make
ubuntu12.04编译android源码要多久
这个关键是要看你的电脑配置情况,以及代码的附加情况,有的平台软件会附加很多东西上去,编译就比较慢了。
我们这边使用的是四核八线程的电脑,32GB内存,
原生代码 4.4八线程编译40分钟左右,5.1,一个半小时左右,6.0的大约一个小时,以上是原生代码编译模拟器的时间。
高通代码6.0编译一般需要两个小时左右,mtk的也是两个小时左右,
如何用ubuntu 12.04 32bit 编译android 4.4.4
系统环境
系统:Ubuntu12.04 64位系统。
源码:Android4.4源码。
选择Ubuntu12.04,是因为在14.04上没能折腾成功,在上面兼容32位程序的配置有点烦。12.04必须要用64位的,编译Android4.4时需要64位环境,同时要兼容32位程序,折腾。
步骤
配置jdk6
Android官方给的步骤是用OpenJdk,实测是不行的。网上找到
这个网址有需要的jdk,下载自解压安装包。自解压后在当前目录下生成一个jdk的目录,打开/etc/environment,增加自己的jdk
bin目录到PATH里面。同时新增如下环境变量:
CLASSPATH=/path/to/your/local/jdk/dir/lib
JAVA_HOME=/path/to/your/local/jdk/dir
然后执行如下命令,设置系统的默认jdk:
$ 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
$ sudo update-alternatives--install/usr/bin/javaws javaws/usr/local/java/jdk1.6.0_38/bin/javaws 300
$ sudo update-alternatives--install/usr/bin/jar jar/usr/local/java/jdk1.6.0_38/bin/jar 300
$ sudo update-alternatives--install/usr/bin/javap javap/usr/local/java/jdk1.6.0_38/bin/javap 300
$ sudo update-alternatives--config java
安装软件包
能装的都要装上,以免编译失败,又要回过头重装,如下:
$ sudo apt-get install build-essential make gcc g++ libc6-dev texinfo
libncurses-dev git-core gnupg flex bison zip curl ncurses-dev libsdl-dev
zlib1g-dev ia32-libs libxml2-utils lzma
编译源码
到源码目录下,如下:
$ source build/envsetup.sh
$ lunch
选择arm平台。
$ make-jn
n为CPU个数的两倍,主要是提高编译速度。
可能的错误
编译过程碰到如下错误:
File"/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File"/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
一般情况是因为前面的javap没有配置所致。如果必须的软件包没有安装,也会有类似的提示,仔细向上翻看错误提示,找到真正的错误地方,安装对应的软件包即可。