编译android源代码的目的是什么,编译后会得到什么东西?

时间:2021-11-19 17:05:02
我有在该帖子(编译android源代码的目的是啥http://bbs.csdn.net/topics/360094916)看过这个问题,但依然没有解决我的疑问。有人说编译android源代码是为了定制系统,我有以下疑问:
    1.编译源码如何实现定制?我看了一些资料,好像都是直接下载源码就编译了,那每个人编译出来的东西不都是一样的吗?如何定制了?
    2.编译前是否要对源码进行裁剪?如何裁剪?是不是因为源码被裁剪了才要进行源码编译?
    3.源码编译后除了得到系统文映像件system.img 和 userdate.img 外,我在有些资料上看到还有 SDK 工具的产生, SDK 工具是编译源码生成的吗?

新手,还望各位老大不吝赐教,谢谢!

7 个解决方案

#1


第一   感觉你搞错了所指对象   所谓的编译源代码  应该主要是指工程源代码(即手机厂商生成整个rom的代码,包括内核,驱动,中间层,各个不同芯片厂商的不同代码,framework,以及应用等等)  这个源代码比谷歌发布的 要更丰富  更完善   很多对象谷歌的那套源代码都是没有实现的 是空的
不知道是不是这样,个人理解,因为谷歌的源码除了生成模拟器,好像其他感觉都没实现(例如很多在模拟器上无法实现的)
第二,编译源码一般是为了获取隐藏api,因为sdk提供的api有些没有提供,但是确实存在,在源码下能编译通过
其次,手机厂商是肯定要编译源码的  
还有些啥  一些发烧友可能也会编译改些东西玩玩  
其他的  留待他人补充吧

#2


Q1.编译源码如何实现定制?我看了一些资料,好像都是直接下载源码就编译了,那每个人编译出来的东西不都是一样的吗?如何定制了?
A:首先定制的前提是你对源码有修改,无论你改了什么都可以称之为定制,至于定制了干嘛,有两种可能,一是你是卖android设备的,而是你是民间rom开发高手
Q2.编译前是否要对源码进行裁剪?如何裁剪?是不是因为源码被裁剪了才要进行源码编译?
A:源码里面分为多个文件夹 vender里面就是你需要添加的东西,一般不需要裁减,除非你想去掉一些系统的东西,另外kernel 驱动等都是需要各厂家自己定制的。
Q3.源码编译后除了得到系统文映像件system.img 和 userdate.img 外,我在有些资料上看到还有 SDK 工具的产生, SDK 工具是编译源码生成的吗?
A:是的(应该是)

另外楼上的说的都是对的

#3


谢谢楼上的热心回答,我大概懂了,不过还想请教一下2楼,假设我是卖 android 设备的,我需要一个能在我的设备上运行的android系统,是不是就要在系统源码里定制我的驱动,裁剪一些不必要的东西,然后再编译得到我定制的系统,过程是不是这样子的?
    系统定制流程是不是这样:获取源码 --> 修改源码(包括修改和裁剪)--> 编译修改后的源码 --> 得到目标系统文件 --> 移植系统 --> 测试成功 --> 完成 ?


谢谢!

#4


引用 3 楼 bingtianlong 的回复:
谢谢楼上的热心回答,我大概懂了,不过还想请教一下2楼,假设我是卖 android 设备的,我需要一个能在我的设备上运行的android系统,是不是就要在系统源码里定制我的驱动,裁剪一些不必要的东西,然后再编译得到我定制的系统,过程是不是这样子的?
    系统定制流程是不是这样:获取源码 --> 修改源码(包括修改和裁剪)--> 编译修改后的源码 --> 得到目标系统文件 --> 移植系统 --> 测试成功 --> 完成 ?


谢谢!

是的,基本就是这样子一个流程!

#5


想不到,有人和我一样,对这种东西有疑问的,
这次学习了,谢谢楼主提问这个问题。。
共同进步。。 编译android源代码的目的是什么,编译后会得到什么东西?

#6


正想问这个问题呢!看完感觉略懂,还不是很清楚,估计要实践后才能懂

#7


还有点疑问,radio在哪里?

#1


第一   感觉你搞错了所指对象   所谓的编译源代码  应该主要是指工程源代码(即手机厂商生成整个rom的代码,包括内核,驱动,中间层,各个不同芯片厂商的不同代码,framework,以及应用等等)  这个源代码比谷歌发布的 要更丰富  更完善   很多对象谷歌的那套源代码都是没有实现的 是空的
不知道是不是这样,个人理解,因为谷歌的源码除了生成模拟器,好像其他感觉都没实现(例如很多在模拟器上无法实现的)
第二,编译源码一般是为了获取隐藏api,因为sdk提供的api有些没有提供,但是确实存在,在源码下能编译通过
其次,手机厂商是肯定要编译源码的  
还有些啥  一些发烧友可能也会编译改些东西玩玩  
其他的  留待他人补充吧

#2


Q1.编译源码如何实现定制?我看了一些资料,好像都是直接下载源码就编译了,那每个人编译出来的东西不都是一样的吗?如何定制了?
A:首先定制的前提是你对源码有修改,无论你改了什么都可以称之为定制,至于定制了干嘛,有两种可能,一是你是卖android设备的,而是你是民间rom开发高手
Q2.编译前是否要对源码进行裁剪?如何裁剪?是不是因为源码被裁剪了才要进行源码编译?
A:源码里面分为多个文件夹 vender里面就是你需要添加的东西,一般不需要裁减,除非你想去掉一些系统的东西,另外kernel 驱动等都是需要各厂家自己定制的。
Q3.源码编译后除了得到系统文映像件system.img 和 userdate.img 外,我在有些资料上看到还有 SDK 工具的产生, SDK 工具是编译源码生成的吗?
A:是的(应该是)

另外楼上的说的都是对的

#3


谢谢楼上的热心回答,我大概懂了,不过还想请教一下2楼,假设我是卖 android 设备的,我需要一个能在我的设备上运行的android系统,是不是就要在系统源码里定制我的驱动,裁剪一些不必要的东西,然后再编译得到我定制的系统,过程是不是这样子的?
    系统定制流程是不是这样:获取源码 --> 修改源码(包括修改和裁剪)--> 编译修改后的源码 --> 得到目标系统文件 --> 移植系统 --> 测试成功 --> 完成 ?


谢谢!

#4


引用 3 楼 bingtianlong 的回复:
谢谢楼上的热心回答,我大概懂了,不过还想请教一下2楼,假设我是卖 android 设备的,我需要一个能在我的设备上运行的android系统,是不是就要在系统源码里定制我的驱动,裁剪一些不必要的东西,然后再编译得到我定制的系统,过程是不是这样子的?
    系统定制流程是不是这样:获取源码 --> 修改源码(包括修改和裁剪)--> 编译修改后的源码 --> 得到目标系统文件 --> 移植系统 --> 测试成功 --> 完成 ?


谢谢!

是的,基本就是这样子一个流程!

#5


想不到,有人和我一样,对这种东西有疑问的,
这次学习了,谢谢楼主提问这个问题。。
共同进步。。 编译android源代码的目的是什么,编译后会得到什么东西?

#6


正想问这个问题呢!看完感觉略懂,还不是很清楚,估计要实践后才能懂

#7


还有点疑问,radio在哪里?