今天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 了
2aeK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2L8X3c8J5L8$3W2V1i4K6u0W2k6$3!0G2k6$3I4W2M7$3!0#2M7X3y4W2i4K6u0W2j5$3!0E0i4K6u0r3K9$3g2J5L8X3g2D9i4K6u0r3k6$3!0D9k6r3k6A6M7$3S2Q4x3X3g2Y4K9i4b7`. 分支为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
然后我google到了一个帖子(
bafK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3c8W2i4K6u0W2k6$3!0G2k6$3I4W2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8X3q4F1k6s2u0G2K9h3c8Q4x3V1k6A6M7%4y4#2k6i4y4Q4x3V1k6V1k6i4c8S2K9h3I4Q4x3@1k6A6k6q4)9K6c8o6p5%4y4o6f1#2y4#2)9J5x3$3x3I4x3q4!0q4c8W2!0n7b7#2)9^5z5g2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4g2!0m8y4W2)9^5x3W2!0q4y4W2!0n7x3#2)9&6y4g2!0q4y4#2)9^5x3W2!0m8c8g2!0q4y4g2)9^5z5q4!0n7y4W2!0q4y4#2)9^5y4q4!0n7y4W2!0q4z5q4)9^5x3q4)9^5b7#2!0q4y4g2!0n7z5g2!0n7y4W2!0q4y4W2!0n7x3W2!0m8x3g2!0q4y4W2)9^5z5q4)9&6x3q4!0q4y4g2)9^5b7g2)9&6c8W2!0q4x3#2)9^5x3q4)9^5x3W2!0q4y4g2)9^5c8q4!0n7x3#2!0q4y4q4!0n7c8q4!0n7c8W2!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4W2)9&6b7#2)9^5z5h3u0#2k6#2!0q4c8W2!0n7b7#2)9^5b7#2!0q4z5g2)9&6b7g2!0n7c8g2!0q4z5g2)9^5x3g2)9&6x3#2!0q4y4W2)9&6b7#2)9^5x3q4!0q4y4W2)9&6y4W2!0n7x3q4!0q4y4#2)9&6b7g2)9^5y4s2y4V1K9H3`.`. tools 还没修复的吗?
有成功用过3.18内核的模拟器的道友吗?
[培训]科锐逆向工程师培训第53期2025年7月8日开班!