都讲人生有轮回,今生的擦肩而过换取来世的回眸一笑。
从情感上讲,我愿意相信这个是真的。今生如果不快乐,或者遭受了很多的痛苦,能有来世的话,但愿今生以后所作的事情都是为来世所积累福报,来换取来世的快乐和幸福。 据说地球已经重置了很多回,在土地中发现了很多的目前文明所达不到的高度。 未来的事情谁能说得清楚,活在当下,为未来准备一些过冬的粮食吧,也不至于会饿死。 人活着,能助人就助人,不能助人的话,也不能充当绊脚石。
人活着,有梦想,就不能够太自由,如果不能达到财务自由,就要上班努力赚钱。 人是群居动物,人生在世,就是相互协助而已,只不过现在人这么多,你不工作也不差你一人。 自古以来,多少英雄豪杰,最后都为五斗米竞折腰。所以说,工作还是要继续的,虽然不想。 多掌握些本事,多折腾折腾,对未来的一切迷茫,还是自己不够信心,不能把握自己的人生。 要做到不会不要紧,不会就查,条件不够就在经济能力允许的情况创造条件,不必拘泥不前。
说到这么长了,进入今天的主题,AOSP折腾,为什么要折腾它呢?因为最近找了一个新的工作, 从事的工作是Android frameworks相关的工作,需要了解它,很多的时候需要去查Android源码,在茫茫的Android世界里,代码量是真的很庞大,所以要想快速找到代码也是真的不容易。所以我想通过自己所学的内容, 能够动态调试代码,就能够找到调用堆栈。可是发现System_Server进程不能attach,不能attach就不能在Looper.looper中下断点,断点能够中断当前的进程都是因为attach的原因,非root手机不能attach不是自己正在调试的app。
因此,我准备购买一个可以root的手机,鉴于公司的手机比较奇缺,所以决定自己购买一个手机。首先在京东和淘宝上看了一下,价格参差不齐,高的3,4千,低的几百块,于是冒着胆子从闲鱼上购买。选了一家也不是太便宜,也不是太贵的手机,看了手机价格也不是那么贵,于是花了555就下单了。过了几天手机到了,但是还不能root。买手机的时候和老板说了,让他给root一下,估计他也不会,就是用官网的版本给刷了一下,然后把bootloader解锁了一下而已。接着就是准备自己下版本root,找了一圈,也没有找到合适的版本。
想着自己也在做安卓框架层这一块,于是乎,准备了移动硬盘下载aosp代码。下载代码倒是可以,就是时间有点长,从网上搜寻了一下,找到一篇可以从清华下载aosp的文章,然后就按着步骤进行下载。没有用传统的方式下载,是下载Aosp的压缩包,最后下载下来大概是165G,于是下载了一个晚上终于成功。不得不说,在win11系统上解压文件是真的很慢,解压到硬盘上也得1个来小时吧,这点就比Ubuntu上差远了,这个时候还是命令比较快。由于Aosp编译,需要Linux环境,本来想装一个虚拟机来的,后来发现了windows上可以用linux,wsl就可以在windows上使用Ubuntu。 于是安装Ubuntu后,就开始摩拳擦掌,开始执行AOSP的编译。编译之前还需要repo一下自己所需要的版本,这个也是需要耗时的,于是乎又是漫长的等待。本来压缩包就160多G,还需要同步源码,于是乎就开始整理原来硬盘上的资料,终于把他们都清空了,这才有空间来同步代码。同步代码之前,需要checkout自己所需要的分支,这个要看自己需要那个版本的代码,根据自己的手机选择仓库。
如何选择?比如我的手机是pixel3,我想要在android11版本上选择一个最新的分支上进行刷机。
1,硬件要求
16G以上内存,500G以上硬盘,Cpu最好4核(为了达到这个要求,我后来买的32G内存和1T固态)
2,source.android.com/setup/start…
它可以查看自己需要的版本(Android11),标记(android11具体的分支,这个在repo的时候需要指定,可以在.repo/manifests 中通过 git branch -a 查看自己所需要的版本是否在其中),支持的设备(选择支持pixel3的版本),build ID(后续需要,这个代码只是纯粹的代码,后需要要想手机能使用,还要下载vender和驱动,这个在编译前要准备好,因为这个没有做,所以我刷机后,手机就不能启动)
3,developers.google.cn/android/dri…
选择piexl3的驱动,在make之前需要
4,命令
切换分支
repo init -u mirrors.tuna.tsinghua.edu.cn/git/AOSP/pl… -b android-11.0.0_r46
同步本地分支,这样会快一些
repo sync -c
同步需要很长的时间
结束后在aosp根目录下执行:
1,. build/envsetup.sh
初始化环境
2, lunch
选择自己要编译的版本,可以寻找自己手机对应的版本
3,把上述下载的文件解压放到根目录下,然后执行,输入I ACCEPT,然后就多了一个Vendor文件
4, 最后一步,需要配置一些环境,网上查询
make
漫长的等待,如果顺利的话,也需要好几个小时,不顺利的话就按照出错的问题,修改后再make,经过不懈的努力,在一次失败后,通过把驱动做到系统后,成功点亮pixel3!
后续继续完善,一会该写一篇技术文章了!