Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,363 Commits
 
 
 
 
 
 

Repository files navigation

Project CiRCLE

Getting started

To get started with Android/LineageOS/Project CiRCLE, you'll need to get familiar with Source Control Tools.

To initialize your local repository using the Project CiRCLE trees, use a command like this:

repo init -u https://github.com/ProjectCiRCLE-ROM/manifest.git -b 16.2 --git-lfs

Then to sync up:

repo sync

Building

NixOS is primarily preferred to build Project CiRCLE. Our ready-made devshell flake makes it easy to prepare your environment for building.

To prepare your environment, you have two options: Using direnv and using nix develop.

If you use direnv, which you should since we specifically link a .envrc file for this purpose, use the following commands to enter the build environment:

direnv allow
aosp-env

Note that you have to run direnv allow only once, then you can just cd into the build root and run aosp-env in subsequent shell sessions.

If you don't use direnv, you can run the following command to enter the build environment:

nix develop path:external/devshell

You have to run this command every time you want to enter the build environment, so you better save it somewhere!

After you enter the build environment (or prepare the distro of your choice for building), use the following command to gather the functions required and run the vendorsetup scripts from your device trees:

source build/envsetup.sh

And then, to populate your environment with variables needed for your specific device:

lunch circle_$device-bp4a-userdebug

Finally, to start building:

m live

Flags

There are flags you can use to customize your build however you like.

To label your builds as experimental or unofficial:

CIRCLE_BUILDTYPE := EXPERIMENTAL | UNOFFICIAL

The builds are labeled unofficial by default (if the variable is empty or has an unrecognized definition).

To ship Google apps:

WITH_GMS := true

To set your alias as the maintainer:

CIRCLE_MAINTAINER := username

Make sure not to use spaces as this is passed to PRODUCT_PRODUCT_PROPERTIES as is. If you put space, only the content before first space is taken into consideration, and it will also mess up build.prop, like so:

# CIRCLE_MAINTAINER := First Last
ro.circle.maintainer=First
Last

If your device has a Mediatek chipset, the following flag might be useful for you:

PERF_ANIM_OVERRIDE := true

This flag works around a performance regression caused by fixed DP translations and fade animations.

Credits

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors