/android

Build crDroid and some general information

alt text

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 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 git://github.com/crdroidandroid/android.git -b 11.0

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
# Go to the root of the source tree...
$ cd crDroid
# ...and run to prepare our devices list
$ . build/envsetup.sh
# ... now run
$ brunch "your device codename"

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

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/11.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/11.0/packages/SystemUI/res/values/cr_config.xml

4.2 Translations

We use Crowdin for translations since 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 downlods 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.