编译Android源码

从 0 开始编译 Android 系统源码 在开始学习 Android Framework 的知识前,准备好相关的源码环境是非常有必要的。可以选择直接在网站在线看,但是跳转这些还是不如在 IDE 下来的方便。或者也可以下载好指定版本的源码,并通过 IDE 来查看,但是这样无法编译源码,所以也就无法修改源码编译查看效果。 阅读详情

这篇文章完全是个人的笔记,所以内容可能讲的不清楚,不一定适合阅读学习。

这里单独提出来,所谓的Android源码指的是在AOSP下载的Android源码而不是我们开发中在sdk中的source。利用Android源码我们是可以自己来编译我们自己的Android系统和开发所需的SDK。

编译源码的环境: ubuntu12.04
这里的源码是在AOSP下载的Android源码,源码的大小压缩包有7个多G,解压后 19个G
编译源码后得到Android系统和sdk后文件的大小,Android 4.4达到了41个G
编译源码会得带system.img,这个过程会消耗大量的时间,这个编译后完成的system.img就是我们的Android系统,然后我们就可以运行模拟器了,这个模拟器就是搭乘的这个系统,当然这个系统也可以被装到我们的手机上面(这就是刷机),内核如果没有编译的话默认使用的是源码中的内核,编译kernel是需要单独编译了,有单独的内核源码,下载地址:https://android.googlesource.com/kernel/ 其实我们国内常用的Android系统就是这样编译的,不过在编译的过程中修改了一些内容,这就是Android系统级别的编译开发了。
Android之所以被称为开源就是它的源码你可以随便下载,如果你有能力的话就可以利用这些源码开发一款你的Android系统。
同样我们开发使用的SDK也是可以通过源码编译得到的,其实我们所使用的SDK,SDK包含了API还有其他的许多开发中的工具,比如adb,aapt等等很多,而API是应用程序接口 Application Programming Interface,就是软件系统不同组成部分的衔接的约定,拿Android来举例子了。Android的API就是我们
应用层开发的时候所调用的那些方法和类,通过这些方法和类来和下一层交流()沟通。都是通过这里的源码然后编译的,包括我们手机上面的Android系统,也是在这里编译的,然后加了一些开发,这样就开发出了属于自己的ROM,比如国内的小米、华为的系统。这就是Android的开源性,都可以以这个为基础开发属于自己的Android系统。

参考:http://www.jianshu.com/p/6d97b4a10b18

Android 源码编译方法 和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、查看项目所在分支二、切换到目标分支三、查看当前所在分支四、编译Android源码五、source Android 编译环境六、lunch 所需的编译项目七、单编 模块八、push 模块 验证修改是否生效九、参考文献一、查看项目所在分支git branch -a表示:查看并列出当前项目所有分支高通项目举例... 阅读详情

相关推荐

Android studio 无需编译调试安卓源码

所需文件 环境Windows10,安装Android studio 、jdk,下载源码Android-6.0.1_r1(这里Android studio,jdk和源码的版本不固定,大家可以勇敢的去尝试其他版本)。还需要下载一个android.iml文件和一个android.ipr文件,ipr文件是源码编译后产生的文件。除了源码上述文件我将给个连接下载。 准备工作 首先解压源码文件(解压过程中出现重...

FZeroTHero的博客 1145

Android系统源码编译

Android系统源码编译

Android framework 1690

Pixel4 安卓源码及内核修改编译教程 | 基于Android12 AOSP【更新:240510】

安卓手机Pixel4刷机AOSP和内核详细教程

菜菜的菜园子 7010

Android系统源码_AOSP开发(二)从下载系统源码编译系统镜像

详细记录Android系统源码从下载到编译的整个流程。

AfinalStone的专栏 1万+

2024年安卓最全自己动手编译Android源码(超详细),2024年最新面试怎么学

为什么很多程序员做不了架构师?1、良好健康的职业规划很重要,但大多数人都忽略了2、学习的习惯很重要,持之以恒才是正解。3、编程思维没能提升一个台阶,局限在了编码,业务,没考虑过选型、扩展4、身边没有好的架构师引导、培养。所处的圈子对程序员的成长影响巨大。金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

2401_84520093的博客 1638

linux编译安卓源码,Ubuntu下编译Android源码

最近尝试编译安卓源码,写了一下自己编译的过程,翻了一下自己的笔记,这里分享给大家。这里尽可能使用的是国内的镜像源,速度应该比较快(包括后面的docker,也是大佬们修改过的脚本,这里感谢他们)传统方法JDK安装和版本切换安装Oracle JDK (此处编译Android4.4的源码,使用JDK6版本)sudo add-apt-repository ppa:webupd8team/javasudo ...

weixin_39637179的博客 433

安卓java源码编译器_Android源码编译整理总结

经过好几天的折腾终于在Ubuntu下成功编译源码,sdk和adt,并成功使用,真实费来好大劲。即便其中还是有很多不明白的地方,下面总结以下自己遇到的问题,留到以后查看以及给遇到和我一样问题的人一些帮助1.必要的软件环境sudo apt-get install build-essentialsudo apt-get install makesudo apt-get install gccsudo a...

weixin_32237603的博客 457

mac linux编译安卓,Mac OS X Lion 下编译Android 源码

在Mac OS X Lion编译Android 源码,按照官网和网上的资料进行时,我遇到了一些问题,总结一下:1、错误信息:./external/elfutils/config-compat-darwin.h:42: error: static declaration of ‘strnlen’ follows non-static declaration/usr/include/string.h:...

weixin_30974373的博客 131

安卓系统源码编译系列(二)——安卓系统源码编译教程

折腾了两天终于完成了安卓系统源码的下载,虽然说中间遇到了不少波折,但总算顺利完成,有兴趣的朋友可以参考我的上一篇博文《安卓系统源码编译系列(一)——下载安卓系统源码教程》。完成了源码下载之后,本人又马不停蹄的开始了源码编译的旅途,抱着与上篇文章同样的目的,写下这篇博文,那就是希望大家可以通过本人的教程一次性完成安卓系统源码编译

心砚THU的专栏 9584

Mac OS X 下编译android源码

为了能够同时开发iPhone应用程序和Android应用程序,我将所有的开发环境都集成到了自己的Macbook上,虽然用Macbook开发普通的Android应用程序没什么问题,但是你要是想用Eclipse浏览和编译Android源代码并且对其SDK进行调试,就是很麻烦的事情了。通过Google发现绝大部分Android源代码的编译和开发环境都是在Ubantu系统上,虽然Android官网提供了在

编程路上的野花 3519

Android 源码编译及真机刷机实录

最近接到一个项目,需要接触 Android 源码,所以走了一遍源码编译和刷机的过程,从开始到成功花了差不多一周的时间,踩了很多坑,在此记录一下。 整体分为四个部分: 环境配置 源码下载 源码编译 镜像刷机 1、环境配置 参考:https://source.android.com/source/initializing.html Android 源码需要在 Linux 或 Mac OS 上编译,...

weixin_35016347的博客 3550

安卓android编译,安卓4.1源码编译

该楼层疑似违规已被系统折叠隐藏此楼查看此楼google官方发布了Android 4.1 Jelly Bean的源码,本人第一时间将源码托了下来(托了一个通宵),今天又花了一早上时间编译ROM并刷到自己的Galaxy Nexus中,虽说Android 4.1已经用了一个多星期了,但是作为Android开发者和爱好者,体验源码下载、编译、刷机的整个过程还是很有意义的,然而在编译和刷机过程中也遇到了一...

weixin_35689681的博客 295

Android源码编译方法

文章目录一、从服务器拉取代码二、编译代码三、编译输出 一、从服务器拉取代码     Android源码使用git管理,由于Android源码非常庞大以及包含各种不同类型源码包,因此google将此源码使用多个git版本库管理,因此需要使用Gerrit来操作多个git版本库。Android源码使用如下repo命令从服务器拉取。 repo init -u ssh://[username]@gerr...

eurphan_y的博客 1367

源码阅读系列】(二)Android源码编译

现在来详细介绍一下envsetup.sh这个脚本这个脚本记录了编译过程中所需要的各种函数实现,如m\mm\mmm\lunch 等函数,进入这个脚本可以看到里面给出的提示可以使用m help命令获取提示。添加编译目标:将以下文件搜索并source进来注意,在安卓9可能有这个文件,更新版本就没有了,这里也会解释原因。当我们进入目录下后会发现里面有很多mk文件,其中比较重要的有AndroidProducts.mk 、device.mk、vendorsetup.sh、BoardConfig.mk。

xuanyulevel6的博客 2925

Android 系统源码编译

Android系统源码编译网上流传着很多优秀的文章,为什么我要写这个呢,主要的原因是记录编译系统的过程,这里以Android9.0,手机设备Piexl一代为例来讲述编译和刷机过程。

Andy0214的专栏 1万+

理解Android编译命令

工欲善其事,必先利其器,对于想要深入学习Android源码,必须先掌握 Android编译命令。 一、引言 关于Android Build系统,这个话题很早就打算整理下,迟迟没有下笔,决定跟大家分享下。先看下面几条指令,相信编译Android源码的人都再熟悉不过的。 ...

chuzhuo9521的博客 442
上一篇: 关于Android源码的理解以及如何阅读源码
下一篇: complileSDKVersion、buildToolsVersion、minSDKVersion、targetsdkversion
sydMobile
博客等级 码龄11年 56粉丝 103原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值