首页
社区
课程
招聘
[原创]Mac 10.14.x 下Android 10源码(QP1A.190711.020)编译和刷机 (Pixel 2 XL)
发表于: 2020-12-12 14:38 6886

[原创]Mac 10.14.x 下Android 10源码(QP1A.190711.020)编译和刷机 (Pixel 2 XL)

2020-12-12 14:38
6886

老一辈的Windows逆向工程师前仆后继的在分析Windows的内核,做梦也想看一眼Windows的源码,至今最多也只能看到好几代之前的泄露源码。移动时代就幸福了,最新版本的Android源码敞开了让你看,光是看怎么能够,怎么也得摸一摸。

下面奋飞就把这一周来,下载源码、编译加刷机的过程给大家细细道来。

话说在东胜神洲傲来国,有个叫壳的东西,把App包的严严实实,想看一眼都不成,更别说摸了。

但是自西方传来Android心经,壳的一举一动都跑在Android上,那么我们把Android心经细细研读,有可能就可以看上一眼,乃至于摸上一把了。

本次研读的Android心经不是最新的,来自于 肉丝大佬 网盘中aosp_pure_sourc_code目录下的 aosp1000r2, 详细版本号 ( QP1A.190711.020 )

572K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4P5V1q4k6L8r3W2k6j5X3E0S2k6$3c8g2g2i4y4&6K9%4N6%4i4K6g2X3e0o6c8Y4 提取码:vv5u

不推荐方案: 给你心爱的小白腾出 200G空间
1、创建一个大小写敏感的磁盘镜像

2、加载它

Mac 系统下默认只能同时打开 1024 个文件,而在进行Android源码编译时有可能会超出这个限制,因此需要解除这个限制。 在~/.bash_profile中添加以下内容, 马上生效命令: source ~/.bash_profile

然后把aosp1000r2.7z 解压到硬盘下 aosp目录

e49K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6H3K9s2u0S2j5$3E0W2M7W2)9J5c8V1#2S2j5@1!0e0h3q4)9J5k6q4y4p5d9%4y4Q4x3V1k6J5k6h3I4W2j5i4y4W2M7H3`.`.

解压到 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

231K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1k6i4k6W2L8r3!0H3k6i4u0K6i4K6u0W2k6$3!0G2k6$3I4W2i4K6u0W2j5$3!0E0i4K6u0r3j5h3&6V1M7X3!0A6k6q4)9J5c8X3c8J5K9i4k6W2M7Y4x3`.

下载 回来两个文件

google_devices-taimen-qp1a.190711.020-baa894dd.tgz
qcom-taimen-qp1a.190711.020-1d440636.tgz

解压到 aosp 目录,然后执行解压后的文件 xx.sh 生成的文件在 vendor 目录下面。


完美搞定,收工……

wifi连不上,不能上网。问了问谷哥,哥说,问题出在persist分区损坏,只需要格式化一下这个分区就好了。

我信他个鬼, 从 672K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1k6i4k6W2L8r3!0H3k6i4u0K6i4K6u0W2k6$3!0G2k6$3I4W2i4K6u0W2j5$3!0E0i4K6u0r3j5h3&6V1M7X3!0A6k6q4)9J5c8X3W2E0j5h3N6W2M7H3`.`. 下载 Pixel 2 XL的QP1A.190711.020 工厂包,发觉里面有个 radio-taimen-g8998-00012-1905270706.img 是我们编译的代码里面没有的。

radio是通讯基带文件,果断先刷一次工厂包,然后再刷我们编译的版本。这次成功可以上网了。

我觉得 直接刷一下基带文件应该也可以解决,有兴趣的小伙伴可以试试。

FAIL: TestGlobEscapes //* (0.00s) glob_test.go:562: incorrect matches list: glob_test.go
把aosp/build/blueprint/Blueprints 文件里的 glob_test.go 和 fs_test.go 的行注释掉

Android的源码配置的已经很傻瓜化了,在Ubuntu和Mac的的编译非常顺利,就是刷机遇到点困难,网上的很多教程也没有很详细的讲刷机的步骤。奋飞提供的思路就是和官方工厂包对比,缺什么咱们补什么。

科学上网是研究Android的先决条件。( ̄▽ ̄)ゞ

参考

505K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2S2L8Y4q4#2j5h3&6C8k6g2)9J5k6h3y4G2L8g2)9J5c8Y4m8G2M7%4c8Q4x3V1k6A6k6q4)9J5c8U0p5&6z5e0R3&6z5l9`.`. 肉丝大佬指南原文

 
 
 
$ sudo hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 200g ~/android.dmg
$ sudo hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 200g ~/android.dmg
$ sudo hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android
$ sudo hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android
ulimit -S -n 1024
ulimit -S -n 1024
 
xz -d MacOSX10.14.sdk.tar.xz
tar xvf MacOSX10.14.sdk.tar
xz -d MacOSX10.14.sdk.tar.xz
tar xvf MacOSX10.14.sdk.tar
 
 
tar zxvf FileName.tgz
tar zxvf FileName.tgz
 
cd aosp
source build/envsetup.sh
lunch  aosp_taimen-userdebug
make -j16    // 我的cpu是4核,可以是2-4倍的线程数

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (1)
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你错了,很多不开源的blob,vendor模块,底层lk也都是闭源的
2020-12-12 16:45
0
游客
登录 | 注册 方可回帖
返回