ubuntu android源码,Ubuntu手机

如何获取android源代码

当前的Android代码托管在两个方:和之前在 android.git.kernel.org上也有托管,不过现在重定向到了好在都支持git访问。

google提供的repo工具实际上是一个内部操作git工具来简化操作Android源码的Python脚本。经过尝试,直接使用git工具在ubuntu下可以实现cloneAndroid源码。下面介绍一下方法:

1.获取当前的在github上托管的Androidgitrepositories:

github页面为:。不过这个页面不支持通过wget""或者curl""的方式访问,错误信息如下:

这样一来,获取这个页面内容并解析出其中的gitrepositories就需要手工完成了。好在方法也很简单:浏览器中打开这个页面,然后"查看源文件"并保存为文本文件,比如保存为"android_git.html"。最后,通过下面的一行脚本来取出Androidgitrepositories.

grep-o"<spanclass=\"repo\">.*</span>"./android_git.html|cut-d">"-f2|cut-d"<"-f1>android_git.txt

2.基于第1步获取的Androidgitrepositories来生成clonegit的脚本:

执行如下的一行awk脚本

awk'BEGIN{i=1;print"#!/usr/bin/envb.sh"}{print"\n\necho\"begincloneandroidgit["i"]:"$1"\"";print"gitclone

"$1".git";print"echo\"finishcloneandroidgit["i"]:"$1"\"";i=i+1;}'./android_git.txt>

git_clone_android.sh

现在用于cloneandroidgit的脚本生成好了,一共有103个gitrepository.

3.执行git_clone_android.sh这个脚本即可。

整体Android源码的代码量是相当庞大,完成所有的clone任务后,大概占用了7G磁盘空间,历时20多个小时,这是在网速比较快的情况下达到的效果:

其间也有许多问题,比如多次出现如下的错误:

这个时候需能做的只能是"tryagain"了。

需要说明的是"不要试图同时并发执行多个gitclone命令",这样会导致大量出现上面贴图中的错误,另外,整个clone过程中耗时最多的gitrepository如下:

kernel_common.gitkernel_msm.gitplatform_frameworks_base.gitplatform_prebuilt.git其中platform_prebuilt.git是google提供的预编译好的二进制文件,包含:各种库文件,jar包,可执行程序等等,如果只是阅读Android源代码,这个gitrepository可以不用clone.

ubuntu12.04编译android源码要多久

这个关键是要看你的电脑配置情况,以及代码的附加情况,有的平台软件会附加很多东西上去,编译就比较慢了。

我们这边使用的是四核八线程的电脑,32GB内存,

原生代码 4.4八线程编译40分钟左右,5.1,一个半小时左右,6.0的大约一个小时,以上是原生代码编译模拟器的时间。

高通代码6.0编译一般需要两个小时左右,mtk的也是两个小时左右,

简述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源代码庞大且复杂,完整的编译可能需要数小时甚至更长时间,因此耐心和合适的硬件配置也是成功编译的重要因素。

阅读剩余
THE END