2.android源码结构

优质
小牛编辑
113浏览
2023-12-01

可以粗略分为4种:

  1. android核心源码,通常来自AOSP、LineageOS、或其他github项目
  2. device,机型相关的配置,比如这个手机屏幕有多大、有几个摄像头、有几个物理按键
  3. kernel,linux内核源码,手机厂商所谓的开源就是开的这个,因为linux源码是GPL开源协议,要求必须开源
  4. vendor,设备特有的非开源文件,比如非开源的各种驱动、系统app,通常来自官方ROM提取

拿z2的SudaMod举例:

zuk开源了kernel,其余3项zuk都没开源,想要成功编译就需要从别的地方补足这些内容。

第1项的android核心源码,有一部分来自AOSP,有一部分来自LineageOS,还有一部分来自SudaMod的github。SudaMod也仅仅提供了这些,并没有提供其余3项内容。

device、kernel,是可以自己创建的,自己制作的这个过程就叫“适配”。这是个相当折腾的过程,需要不断去尝试,很多bug也只能在使用过程中发现。 好在现在已经有很多大神适配完了,可以直接拿来用。

但是请一定注意遵守游戏规则,使用了别人的代码请一定注明来源,并感谢一下,做人要有良心,要知道感恩。