今天git clone 了android 源码master分支,编译完成后启动模拟器发现系统版本是6.0.1,但是内核版本居然是3.4.67+,而不是最新的版本3.18. 为什么源码里的内核没有同步更新呢??不科学啊。

下表是android版本与内核版本的关系,来自维基百科。

Android Version |API Level |Linux Kernel in AOSP

----------------------------------------------------

1.5 Cupcake |3 |2.6.27

1.6 Donut |4 |2.6.29

2.0/1 Eclair |5-7 |2.6.29

2.2.x Froyo |8 |2.6.32

2.3.x Gingerbread |9, 10 |2.6.35

3.x.x Honeycomb |11-13 |2.6.36

4.0.x Ice Cream San|14, 15 |3.0.1

4.1.x Jelly Bean |16 |3.0.31

4.2.x Jelly Bean |17 |3.4.0

4.3 Jelly Bean |18 |3.4.39

4.4 Kit Kat |19, 20 |3.10

5.x Lollipop |21, 22 |3.16.1

6.0 Marshmallow |23 |3.18.10

为了用上3.18的内核,我自己另外git 了 https://android.googlesource.com/kernel/goldfish.git 分支为3.18的内核代码,编译之后用此内核启动上述6.0.1的系统,结果模拟器一直黑屏,debug信息显示:

emulator: Error while connecting to socket '127.0.0.1:1970': 111 -> Connection refused

emulator: ASC 127.0.0.1:1970: Retrying connection. Connector FD = 16

有成功用过3.18内核的模拟器的朋友吗?

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐