risingOS is A FREE OpenSource Aftermarket Android Operating System that aims to bring unique and fresh user experience.
Requirements:
- Device trees must be properly maintained, patches applied to the tree must be either rom source changes adaptation,bug fixes or improvements.
- Must have no known issues in his/her current device community.
- Approved by the maintainership application form reviewers. Maintainership application form link: https://docs.google.com/forms/d/e/1FAIpQLSdQjt9NvuzEEqxwvEVtGbCaoxaFFLoz7SRr8J1c_-kcn5EQBQ/viewform
Initialize local repository (thanks to apon77 for repo init script)
# For webview related errors due to git lfs (credits to haggertk):
sudo apt install git-lfs
git lfs install
rm -rf external/chromium-webview/prebuilt/*
rm -rf .repo/projects/external/chromium-webview/prebuilt/*.git
rm -rf .repo/project-objects/LineageOS/android_external_chromium-webview_prebuilt_*.git
repo init --depth=1 --no-repo-verify -u https://github.com/risingos13T/android -b thirteen --git-lfs -g default,-mips,-darwin,-notdefault
in case of repo syncing failures try this instead
repo init -u https://github.com/risingos13T/android -b thirteen --git-lfs
Sync up with this command:
repo sync -c --no-clone-bundle --optimized-fetch --prune --force-sync -j$(nproc --all)
Workaround for failing repositories
Failing repos:
system/core
Try re-running with "-j1 --fail-fast" to exit at the first error.
# Delete .repo project objects <remote> depends on the objects remote name e.g RisingTechOSS/LineageOS etc.
rm -rf .repo/project-objects/<remote>/android_system_core.git
# system/core.git is taken from the android_system_core repository path entry from the manifest
rm -rf .repo/projects/system/core.git
# Delete the synced folder of the failing repository
rm -rf system/core
Inherit Lineage vendor common stuffs
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# chipset flag enclose var with "" if more than one
# friendly tip: builders can use init_xxx.cpp as workaround for spacing
# e.g. property_override("ro.rising.chipset", "Snapdragon 870 5G");
RISING_CHIPSET := "snapdragon x"
# chipset flag enclose var with "" if more than one
# friendly tip: builders can use init_xxx.cpp as workaround for spacing
# e.g. property_override("ro.rising.maintainer", "maintainer");
RISING_MAINTAINER := "a maintainer"
# chipset flag enclose var with "" if more than one
# this will reflect on build/display version, a firmware package/zip name
# e.g. risingDroid-7.0-COMMUNITY-device-AOSP.zip - AOSP is the default package type, WITH_GMS will override the package type to PIXEL
RISING_PACKAGE_TYPE := "VANILLA AOSP"
# Aperture Camera (default: not defined - skipped by the compiler)
TARGET_BUILD_APERTURE_CAMERA := true/false
# disable/enable blur support, default is false
TARGET_ENABLE_BLUR := true/false
# UDFPS ICONS/ANIMATIONS
TARGET_HAS_UDFPS := true/false
# Spoof build description/fingerprint as pixel device
TARGET_USE_PIXEL_FINGERPRINT := true/false
# GMS build flags
WITH_GMS := true/false - ship with GMS packages, replaces misc AOSP packages with Google packages.
# Customized GMS Flags
# WITH_GMS flag is required
# Default GMS flags sets (Override the values on lineage_xxx.mk)
WITH_GMS := true
TARGET_CORE_GMS := true
# Wether to use google (true) or AOSP (false) telephony package bundle. (defaults: false for gms core, true for pixel builds)
TARGET_USE_GOOGLE_TELEPHONY := true/false
# Compiler will only build GMS playstore services, its dependencies, and Gboard app.
# package type will change from PIXEL/GMS -> CORE
TARGET_CORE_GMS := true/false
# extra flag under TARGET_CORE_GMS
TARGET_CORE_GMS_EXTRAS := true/false - extra packages for core build type (velvet and photos)
Set up environment
. build/envsetup.sh
Build the code
brunch "device_codename" userdebug/user
brunch uses all available cores to assign jobs hence making -jX no-op, to utilize -jX use:
lunch lineage_device-userdebug/user
mka bacon -jX
Building fastboot update package
lunch lineage_device-userdebug/user
make updatepackage