《Android框架揭秘》——2.2节搭建Android平台编译环境

简介:

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.2节搭建Android平台编译环境,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.2 搭建Android平台编译环境
Android框架揭秘
前面,我们讲解了在Windows平台下安装虚拟机,以及在虚拟机下安装Ubuntu的相关知识。下面我们将讲解Android所需要的一些编译工具,以及下载Android平台源码的方法。

2.2.1 编译工具
在Ubuntu Linux(32-bit x86环境)中编译Android平台之前,首先要在Linux中安装如下工具或包。


9aad0d338624e5170b62e26c8d13c65051aba61c


8b375113eb570c8c4f2ef593526caff69aa99cac

2.2.2 安装Repo
Android源代码十分庞大,通过Git版本控制工具管理源码,Android是由kernel、Dalvik、Bionic、prebuilt、build等多个Git项目组成,如果分别使用Git来逐个获取显然很麻烦,所以Android项目编写了一个名为Repo的Python脚本来统一管理这些项目的仓库,使得项目的获取更加简单。

使用curl工具下载Repo脚本文件后,再更改运行权限。


e19fb30c2ccfbf994a8b9480927a160d81112d46

2.2.3 下载Android源代码
下载完 Repo 脚本文件后,执行如下命令,下载包含 Android 源码发布信息的manifest.git文件。在-b 选项后输入版本名称,即可下载指定版本的源码。比如froyo表示下载froyo版本的manifest.git文件。若去除-b选项,则下载当前主版本的Android源码。**3


eeefd25b4f05ce23b9569a2e3e433a90df38d65e

2.2.4 编译Android源代码
Android源码下载完成后,开始编译源代码。若需要移植,则需要进行很多设置。当然,如果只是搭建一个模拟环境,编译时,只要保持默认设置即可。首先进入Android源码所在的目录,而后敲入make命令,执行编译,命令如下。


b64b1e2de63391a39875ab56e85be4370f70803e

1@override注释用在方法上,用来告诉编译器此方法是改写自父类或接口。此注释在java 1.5中只能用于对父类方法的重写,而不能用于对实现的接口中的方法的实现,否则编译器会生成一个错误信息。在Android Froyo发布后,在Java 5与Java 6中,对哪个版本是Java的编译器,曾有过讨论,据谷歌的Jean-Baptiste Queru说,1.5用于内部开发Froyo,是测试版本。
2 Zlib1g-dev:中间的1是数字1,非字母l。
32010年7月最新版本为froyo版本,下载时,需要在-b选项后标出froyo字样。

相关文章
|
2月前
|
Android开发
安卓SO层开发 -- 编译指定平台的SO文件
安卓SO层开发 -- 编译指定平台的SO文件
31 0
|
3月前
|
Shell Android开发
RK android13编译环境搭建与常用编译命令
RK android13编译环境搭建与常用编译命令
72 0
|
1月前
|
运维 监控 Java
应用研发平台EMAS产品常见问题之安卓构建版本失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
1月前
|
运维 监控 Android开发
应用研发平台EMAS常见问题之安卓push的离线转通知目前无法收到如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
25 1
|
1月前
|
网络协议 关系型数据库 MySQL
安卓手机termux上安装MariaDB数据库并实现公网环境下的远程连接
安卓手机termux上安装MariaDB数据库并实现公网环境下的远程连接
|
2月前
|
开发工具 Android开发
安卓系统7.1搭建Xposed环境
安卓系统7.1搭建Xposed环境
28 1
|
3月前
|
编解码 测试技术 开发工具
如何实现Android视音频数据对接到GB28181平台(SmartGBD)
如何实现Android视音频数据对接到GB28181平台(SmartGBD)
|
3月前
|
网络安全 Android开发
2023安卓逆向 -- 抓包环境设置(Charles+Postern)
2023安卓逆向 -- 抓包环境设置(Charles+Postern)
33 0
|
3月前
|
开发工具 Android开发
Android平台RTMP推送|轻量级RTSP服务|GB28181设备接入模块之实时快照保存JPG还是PNG?
Android平台RTMP推送|轻量级RTSP服务|GB28181设备接入模块之实时快照保存JPG还是PNG?
|
3月前
|
数据采集 编解码 图形学
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
101 0