Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

project-raspberry/android

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

[WARNING] This is a W.I.P. Do not build until this disclaimer is removed!

Project Raspberry manifest

Base Firmware

risingOS Android

Maintainership

If you want to apply for maintainership, send a PM on Telegram to @sapphiremyass.

Getting Started

Initialize local repository

repo init -u https://github.com/project-raspberry/android -b fifteen --git-lfs

Sync up with this command:

repo sync -c --no-clone-bundle --optimized-fetch --prune --force-sync -j$(nproc --all)
# For GMS or Cromium blobs related errors due to Git LFS (credits to haggertk):
sudo apt install git-lfs
git lfs install

rm -rf vendor/gms
rm -rf .repo/projects/vendor/gms.git
rm -rf .repo/project-objects/*/android_vendor_gms.git

repo init -u https://github.com/project-raspberry/android -b fifteen --git-lfs

# for SSH
repo init -u git@github.com:project-raspberry/android.git -b fifteen --git-lfs 

Preparing device for building Project Raspberry

Inherit LineageOS vendor stuffs

$(call inherit-product, vendor/lineage/config/common_full_phone.mk)

Building Flags

# friendly tip: builders can use vendor init_xxx.cpp as workaround for spacing
# e.g. property_override("ro.raspberry.chipset", "Snapdragon 870 5G");
# friendly tip: builders can use vendor init_xxx.cpp as workaround for spacing
# e.g. property_override("ro.raspberry.maintainer", "maintainer");

# Chipset and Maintainer Prop
#In lineage_<device>.mk Add the following properties to `PRODUCT_BUILD_PROP_OVERRIDES`

Add the following variables:

# Lunch banner maintainer variable
RASPBERRY_MAINTAINER="Niv"

# Chipset/Maintainer properties (ro.raspberry.chipset/ro.raspberry.maintainer) 
# (Optional if builder is setting properties via init_<device>.cpp)
PRODUCT_BUILD_PROP_OVERRIDES += \
    RaspberryChipset="Google Tensor 2" \
    RaspberryMaintainer="Niv"

# chipset flag enclose var with "" if more than one
# this will reflect on build/display version, a firmware package/zip name 
# e.g. Project-Raspberry-15-UNOFFICIAL-device-AOSP.zip - AOSP is the default package type, WITH_GMS will override the package type to PIXEL
RASPBERRY_PACKAGE_TYPE := "VANILLA_AOSP"

# disable/enable blur support, default is false
TARGET_ENABLE_BLUR := true/false

# whether to ship aperture camera, default is false
PRODUCT_NO_CAMERA := true/false

# Wether to ship lawnchair launcher
TARGET_PREBUILT_LAWNCHAIR_LAUNCHER := true/false 

GMS Flags

# GMS build flags
# ship with GMS packages, replaces default AOSP packages with Google manufactured packages.
WITH_GMS := true/false

# These flags needs WITH_GMS set to true
# for more information about core GMS flags, please see vendor/gms/common/common-vendor.mk
# ships core GMS components that are needed to run GMS environment
TARGET_CORE_GMS := true/false

# extra add-ons for core GMS builds
# List of add-ons
# PRODUCT_PACKAGES += \
#    Photos \
#    MarkupGoogle \
#    LatinIMEGooglePrebuilt \
#    AiWallpapers \
#    WallpaperEmojiPrebuilt \
#    PrebuiltDeskClockGoogle \
#    CalculatorGooglePrebuilt \
#    CalendarGooglePrebuilt \
#    Velvet
TARGET_CORE_GMS_EXTRAS := true/false

# on the other hand builders can build customize packages by simply defining product packages
# instead of defining TARGET_CORE_GMS_EXTRAS
# PRODUCT_PACKAGES += \
#    add package name here e.g: Velvet \
#    LatinIMEGooglePrebuilt (if builder prefers gboard)

# Wether to ship pixel launcher and set it as default launcher
TARGET_DEFAULT_PIXEL_LAUNCHER := true/false 

# Android System Intelligence (Pixels devices)
It is recommended for Builders to drop other versions of DevicePersonalization except for DevicePersonalization2020 to avoid breakages on Pixel features like Live Captions/NGA etc.

Building the firmware

Setting up environment

. build/envsetup.sh
lunch lineage_codename-buildtype
mka bacon -j$(nproc --all)

Signed build (Replacing testkey with releasekey for Play Integrity, certification etc.)

lunch lineage_codename-buildtype
# Perform manual key generation
# 'gk' will include keys from vendor/lineage-priv/keys
# after generating keys
gk -s

# For more info about gk (generate keys)
gk -h/--help

# Build the firmware
mka bacon -j$(nproc --all)

Opting out of signed builds

lunch lineage_codename-buildtype
remove_keys # This will remove generated keys so the system will revert back to test keys.

Contributions/Translations

Contributions/Translations are always welcome! Please feel free to do pull requests!

Pull requests will be reviewed by source maintainers and will be merged/added to work-in-progress repositories once changes are verified.

Credits

About

#RaspberriesAreTheBest

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published