Coming from first CyanogenMod and after that LineageOS building I was puzzled when starting with building /e/ first. The approach of sharing a Docker setup to prepare an easy build environment is really awesome(!) and keeps the barriers low for users who never build Android before and for those who not wanting/having Linux running.
On the other site, if you can answer any or all of the following with yes, then this guide
is for you:
- you have build Android before and are used to the classic way of building
- you have already a good working build environment
- you do not like docker
- you want to get the most speed possible
- you want to learn how Android would be normally build
- you plan to build other Android ROMs like LOS, AOSiP etc and do not want
to start everytime from scratch
- you already have Linux, have good experience with Linux and/or be willing
to get used to it
Some / all of the above matches on you? Well then go on!
You must have either Linux and Android building experience or you must be willing to learn these things on your own as these are not covered here.
Why another guide?
There are several guides available for doing (parts of) “classic” building like:
- [HOWTO] build eOS in old fashioned way with breakfast – now with interactive script
- [HOWTO] Build /e/ without docker
- [HOWTO] Build /e/ without docker for non LineageOS supported devices
So why another one?
None of these covering the classic approach fully. You always have to run scripts manually and configuration options are usually within the scripts itself etc. That is not my understanding of classic building and other then that none of these covers all the things what you can do with the docker setup (e.g. signing, delta updates, etc).
Just to be crystal clear here: I appreciate the work of the users putting time and effort in doing the above guides! The mentioned guides are not bad in any way, they are just not fitting all of my personal needs.
So… I put a week of work (which is still ongoing ) going through all of these above guides and the docker setup and scripts as well to migrate those to the classic build approach.
That being said, the magic within comes from the docker scripts (90%) + some mods from the other guide’s scripts. I “just” bring that all together and migrated/removed/adjusted/optimized/added everything needed to finally make it work with just a:
source build/envsetup.sh && brunch <device> && mka eos
Setup / Usage
Please find all steps in the README
Beware of the dragons
- Even though I suggest using
vendor/ethis is not an official way to build /e/ (yet) - while I hope it will be one day (I had send review requests to all I knew but if you can help me speeding this up write me a PM)
- Expect issues (pls report them here or open an issue in the repo)
- It is still a WORK IN PROGRESS
- Review the known issues
- well, yea ofc the title says “no scripts” but there are scripts included - just nothing you need to care about!
- … and most important: Anything can change at any time!