ubuntu编译android源码?android开发工具箱

各位老铁们好,相信很多人对ubuntu编译android源码都不是特别的了解,因此呢,今天就来为大家分享下关于ubuntu编译android源码以及android开发工具箱的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

简述android源代码的编译过程

编译Android源代码是一个相对复杂的过程,涉及多个步骤和工具。下面我将首先简要概括编译过程,然后详细解释每个步骤。

简要

Android源代码的编译过程主要包括获取源代码、设置编译环境、选择编译目标、开始编译以及处理编译结果等步骤。

1.获取源代码:编译Android源代码的第一步是从官方渠道获取源代码。通常,这可以通过使用Git工具从Android Open Source Project(AOSP)的官方仓库克隆代码来完成。命令示例:`git clone `。

2.设置编译环境:在编译之前,需要配置合适的编译环境。这通常涉及安装特定的操作系统(如Ubuntu的某些版本),安装必要的依赖项(如Java开发工具包和Android Debug Bridge),以及配置特定的环境变量等。

3.选择编译目标:Android支持多种设备和配置,因此编译时需要指定目标。这可以通过选择特定的设备配置文件(如针对Pixel手机的`aosp_arm64-eng`)或使用通用配置来完成。选择目标后,编译系统将知道需要构建哪些组件和变种。

4.开始编译:设置好环境并选择了编译目标后,就可以开始编译过程了。在源代码的根目录下,可以使用命令`make-jN`来启动编译,其中`N`通常设置为系统核心数的1~2倍,以并行处理编译任务,加快编译速度。编译过程中,系统将根据Makefile文件和其他构建脚本,自动下载所需的预构建二进制文件,并编译源代码。

5.处理编译结果:编译完成后,将在输出目录(通常是`out/`目录)中生成编译结果。这包括可用于模拟器的系统镜像、可用于实际设备的OTA包或完整的系统镜像等。根据需要,可以进一步处理这些输出文件,如打包、签名等。

在整个编译过程中,还可能遇到各种依赖问题和编译错误,需要根据错误信息进行调试和解决。由于Android源代码庞大且复杂,完整的编译可能需要数小时甚至更长时间,因此耐心和合适的硬件配置也是成功编译的重要因素。

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没有配置所致。如果必须的软件包没有安装,也会有类似的提示,仔细向上翻看错误提示,找到真正的错误地方,安装对应的软件包即可。

阅读剩余
THE END