第一次编译安卓,记录一下
Ubuntu版本问题:
这个问题困扰了我三天。。。才疏学浅。。。
使用Ubuntu20及以上版本可能会出现的问题及相关解决方法,虽然最后也没搞定。。。。
Ubuntu20版本使用的是Python3,默认不支持Python2,所以在编译时使用Python2就要单独安装
1.sudo apt-get install python-2 会安装Python2,但不是默认使用的,需要定义为默认使用(方法百度。。),且安装pip总出错。。。可能是我的问题。。所以转手动安装
2.下载Python2安装包安装成功,手动安装Python2插件包,成功,但编译依然报错
到这里我怀疑的是我自己的问题了。。。于是网上百度,发现还真有人遇到一样的问题,不过这老哥解决方法我严重怀疑(https://blog.csdn.net/qq3965470/article/details/112419619),所以又解压又来一遍。。。。
以上是Ubuntu20遇到的问题,然后换版本(人推荐编译的就是14/15版,我不信了这个邪。。。吃亏在眼前了。。。)
接下来换Ubuntu18版编译。。。(老板Ubuntu界面不如新版友好,死磕,一版一版来)
RK3566编译问题:
1.下载SDK包,瑞芯微有提供相关的下载方式,此处提供的加速方式(哈哈哈),使用账号密码登录后发现下载速度才几百K,1m左右,文件那么大,这怎么能忍,于是。。。软件多开,一个软件下载一个哈哈哈哈,速度翻n倍,多少个分包多少倍。
2.解压文件,请务必按照文档上的解压方式解压,不然后面遇到问题会怀疑自己的解压,然后再解压(我解了4、5次。。。解压焦虑症)
3.解压下来可能看不到文件夹(什么鬼,咋啥都没有),点开隐藏文件
就可以看到这么个文件夹(什么鬼?为啥是隐藏文件夹。。。),这是repo,是管理大型分布式文件的一种方式,具体百度用法,然后根据文档的解压方式解压即可,sync -c这个是更新指令,可以不用。
3.解压完成
就是这么些文件夹了,其中RKTools是工具文件夹,RKDocs是说明文档,u-boot是u-boot文件夹,kerner文件夹,安卓编译就在此目录下,可以使用一键编译命令。
4.安装相关依赖包
文档都有相应介绍,按文档的来做。
本吊继续更新,并修改5.
5.一键编译,如同开源安卓的编译方式一样,先运行配置环境变量脚本
source build/envsetup.sh
再选择编译的版本
lunch
选择后
./build.sh -AUCKu -d XXXXXXXXXXXXXXX
-AUCKu是各编译指令,文档上有介绍
xxxxxxxxxxxx是编译驱动的指令
瑞芯微有贴心的脚本编译,省事啊,本吊撸了两天编译脚本,由脚本垃圾进阶为脚本小白,现粗略解析下脚本干了些啥。
首先来到第一段,很明显,这是个函数,在什么地方被调用了?
在这里,所以我们输入./build.sh -?时,就会输出上面函数的内容了,其实就是个帮助文档。。。。
然后继续看这段,上面的那些AUCKup的选项不就是相关编译选项了吗,还是源码一目了然
接下来,就是一堆有的没的,用到再看,就跳过这段
接下来是编译的各个操作了,首先编译uboot
从这里可以看到官方是咋编译的
先来个三清
make clean && make mrproper && make distclean
然后走脚本,当然这个脚本在uboot目录下了
./make.sh $UBOOT_DEFCONFIG
然后编译kerne
当然也是和uboot一样的套路
下面一样的,懒得写了。。。
编译过程中提示安装相关的包安提示安装即可
如果没遇到其他问题的话就是等待时间了。。。
未完待续。。。。