提供一个通用的魔趣源码编译教程(Docker)

提供一个通用的魔趣源码编译教程(Docker)
none 5.0 1

论坛更新,以前的帐号登陆不了,新账户权限不够,这个帖子只能在这里发。

原文有点复杂,我用转载的方式:

《 用Docker编译mokee android》

这是我最近捣鼓出来的魔趣源码下载及编译教程,采用目前最流行的Docker编译法。相对于裸机编译,docker的方式不挑系统,通用各种版本的Linux,MacOS,甚至windows。

大部分内容都是在谈代码同步和异常处理,编译过程非常简单,就一句命令。不过对入门群众来讲,还需要额外了解一下Docker虚拟机的安装。

Linux和Mac用户应该上手很快,Windows用户就有点麻烦了。目前我也没想到一个比较简单的办法让windows编Android。

想学习ROM制作和Android开发的朋友可以看看,本文应该有些帮助。

2 Likes

可以的,用 Docker 来封装编译环境,可以保证环境是统一干净的。

但是即便 Mac 也可以用 Docker,相信我,你不会想在 Mac 上面用 Docker 跑魔趣的。

Docker 在 Mac 和 Windows 上都是运行在虚拟机的 Linux 里的,那个 I/O 性能简直惨无人道…

魔趣源码里包含 Linux kernel 源码。Kernel 源码要求存放在大小写敏感的文件系统里。Windows 恐怕做不到?

本来可以选择WSL,那个文件系统是大小写敏感的。之前我在上面编译Linux成功过,配合qemu甚至能做驱动开发。

不过现在可以等WSL2。据微软自己说WSL2的io性能提升巨大,折腾WSL不如当个等等党。

Mac用户投来羡慕的目光。

在ubuntu 19.04中,使用此Doker编译时报缺少libtinfo.so.5的错误,应该是原Docker镜像缺少libssl-dev包。建议添加一下,或者更改一下启动参数,在启动时安装:

docker run --rm -v ${PWD}:/android chenchacha/aosp:latest bash -c "apt update;apt install -y libssl-dev;MK_AOSP_REMOTE=tuna; cd /android; . build/envsetup.sh; lunch mk_raphael-userdebug; mka bacon"

感谢反馈,新的镜像连带dockerfile已经上传。

既然用了docker,与ubuntu19.04就没关系。我怀疑libtinfo.so是mokee新加的依赖,或者 raphael独有的依赖。

1 Like

ubuntu版本建议按照谷歌文档说明。https://source.android.com/setup/build/initializing

1 Like