1. Grabbing the source
Repo is a tool provided by Google that simplifies using Git in the context of the Android source.
1.1 Installing dependencies and Repo
Several packages are needed in order to build crDroid
sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-gtk3-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
Install Repo tool
# Make a directory where Repo will be stored and add it to the path
$ mkdir ~/bin
$ PATH=~/bin:$PATH
# Download Repo itself
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
# Make Repo executable
$ chmod a+x ~/bin/repo
1.2 Initializing Repo
# Create a directory for the source files
# This can be located anywhere (as long as the fs is case-sensitive)
$ mkdir crDroid
$ cd crDroid
# Install Repo in the created directory
$ repo init -u https://github.com/crdroidandroid/android.git -b 13.0 --git-lfs
This is what you will run each time you want to pull in upstream changes. Keep in mind that on your first run, it is expected to take a while as it will download all the required Android source files and their change histories.
# Let Repo take care of all the hard work
$ repo sync
# Run to prepare our devices list
$ . build/envsetup.sh
# ... now run
$ lunch lineage_devicecodename-buildtype
$ m bacon
1.3 Automation
At crDroid, we have an automated script that also builds and uploads your device to our official SourceForge page.
Show me more.
2. Contributions
To submit changes/patches, please send a pull request on GitHub. We will review and merge.
3. How to become an Official Maintainer
Make sure you can follow our rules-and-guidelines, then if all is right, just message Gabriel over Telegram with the device you want to maintain.
4. crDroid features / overlays, translations, forum template and OTA
4.1 crDroid features / overlays
Set those overlays to proper paths
Frameworks base
overlay/frameworks/base/core/res/res/values/config.xml
https://github.com/crdroidandroid/android_frameworks_base/blob/13.0/core/res/res/values/cr_config.xml
SystemUI
overlay/frameworks/base/packages/SystemUI/res/values/config.xml
https://github.com/crdroidandroid/android_frameworks_base/blob/13.0/packages/SystemUI/res/values/cr_config.xml
4.2 Translations
We use Crowdin for translations since it is easy and everyone can do it.
To help out click here.
4.3 Forum template
Build ready? Tested all features and translations are smooth?
Why not share your build over your beloved forums?
To do so, we have made a small template to help out. Just edit what you need and let the downloads roll.
4.4 OTA
So posted on forums and your users are enjoying your build.
Well you can help out your users by letting them know when you fix stuff in your builds with the help of our OTA app.
Since crDroid Oreo, if you want to be on the official maintainers list, you'll need to provide OTA access.
You can set it up really easy by reading android_vendor_crDroidOTA repo description.