当前位置: 代码迷 >> Android >> 编译android源代码的目的是什么,编译后会失去什么东西
  详细解决方案

编译android源代码的目的是什么,编译后会失去什么东西

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

新手,还望各位老大不吝赐教,谢谢!
Android 源代码 裁剪 SDK

------解决方案--------------------
第一   感觉你搞错了所指对象   所谓的编译源代码  应该主要是指工程源代码(即手机厂商生成整个rom的代码,包括内核,驱动,中间层,各个不同芯片厂商的不同代码,framework,以及应用等等)  这个源代码比谷歌发布的 要更丰富  更完善   很多对象谷歌的那套源代码都是没有实现的 是空的
不知道是不是这样,个人理解,因为谷歌的源码除了生成模拟器,好像其他感觉都没实现(例如很多在模拟器上无法实现的)
第二,编译源码一般是为了获取隐藏api,因为sdk提供的api有些没有提供,但是确实存在,在源码下能编译通过
其次,手机厂商是肯定要编译源码的  
还有些啥  一些发烧友可能也会编译改些东西玩玩  
其他的  留待他人补充吧
------解决方案--------------------
Q1.编译源码如何实现定制?我看了一些资料,好像都是直接下载源码就编译了,那每个人编译出来的东西不都是一样的吗?如何定制了?
A:首先定制的前提是你对源码有修改,无论你改了什么都可以称之为定制,至于定制了干嘛,有两种可能,一是你是卖android设备的,而是你是民间rom开发高手
Q2.编译前是否要对源码进行裁剪?如何裁剪?是不是因为源码被裁剪了才要进行源码编译?
A:源码里面分为多个文件夹 vender里面就是你需要添加的东西,一般不需要裁减,除非你想去掉一些系统的东西,另外kernel 驱动等都是需要各厂家自己定制的。
Q3.源码编译后除了得到系统文映像件system.img 和 userdate.img 外,我在有些资料上看到还有 SDK 工具的产生, SDK 工具是编译源码生成的吗?
A:是的(应该是)

另外楼上的说的都是对的

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


谢谢!

是的,基本就是这样子一个流程!
  相关解决方案