# Allow vendor/extra to override any property by setting it first $(call inherit-product-if-exists, vendor/extra/product.mk) PRODUCT_BRAND ?= LineageOS ifeq ($(PRODUCT_GMS_CLIENTID_BASE),) PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ ro.com.google.clientidbase=android-google else PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ ro.com.google.clientidbase=$(PRODUCT_GMS_CLIENTID_BASE) endif ifeq ($(PRODUCT_IS_ATV),true) ifeq ($(PRODUCT_ATV_CLIENTID_BASE),) PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ ro.oem.key1=ATV00100020 else PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ ro.oem.key1=$(PRODUCT_ATV_CLIENTID_BASE) endif endif ifeq ($(TARGET_BUILD_VARIANT),eng) # Disable ADB authentication PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=0 else ifdef WITH_ADB_INSECURE # Forcebly disable ADB authentication PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=0 else # Enable ADB authentication PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=1 endif # Disable extra StrictMode features on all non-engineering builds PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.sys.strictmode.disable=true endif # Backup Tool PRODUCT_COPY_FILES += \ vendor/lineage/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \ vendor/lineage/prebuilt/common/bin/backuptool.functions:install/bin/backuptool.functions \ vendor/lineage/prebuilt/common/bin/50-lineage.sh:$(TARGET_COPY_OUT_SYSTEM)/addon.d/50-lineage.sh PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ system/addon.d/50-lineage.sh ifneq ($(strip $(AB_OTA_PARTITIONS) $(AB_OTA_POSTINSTALL_CONFIG)),) PRODUCT_COPY_FILES += \ vendor/lineage/prebuilt/common/bin/backuptool_ab.sh:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_ab.sh \ vendor/lineage/prebuilt/common/bin/backuptool_ab.functions:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_ab.functions \ vendor/lineage/prebuilt/common/bin/backuptool_postinstall.sh:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_postinstall.sh PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ system/bin/backuptool_ab.sh \ system/bin/backuptool_ab.functions \ system/bin/backuptool_postinstall.sh ifneq ($(TARGET_BUILD_VARIANT),user) PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ ro.ota.allow_downgrade=true endif endif # Lineage-specific broadcast actions whitelist PRODUCT_COPY_FILES += \ vendor/lineage/config/permissions/lineage-sysconfig.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/lineage-sysconfig.xml # Lineage-specific init rc file PRODUCT_COPY_FILES += \ vendor/lineage/prebuilt/common/etc/init/init.lineage-system_ext.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.lineage-system_ext.rc # Enable SIP+VoIP on all targets PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/android.software.sip.voip.xml # Enable wireless Xbox 360 controller support PRODUCT_COPY_FILES += \ frameworks/base/data/keyboards/Vendor_045e_Product_028e.kl:$(TARGET_COPY_OUT_PRODUCT)/usr/keylayout/Vendor_045e_Product_0719.kl # Component overrides PRODUCT_PACKAGES += \ lineage-component-overrides.xml # This is Lineage! PRODUCT_COPY_FILES += \ vendor/lineage/config/permissions/org.lineageos.android.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/org.lineageos.android.xml # Enforce privapp-permissions whitelist PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ ro.control_privapp_permissions=enforce ifneq ($(TARGET_DISABLE_LINEAGE_SDK), true) # Lineage SDK include vendor/lineage/config/lineage_sdk_common.mk endif # Do not include art debug targets PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false # Strip the local variable table and the local variable type table to reduce # the size of the system image. This has no bearing on stack traces, but will # leave less information available via JDWP. PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true # Disable vendor restrictions PRODUCT_RESTRICT_VENDOR_FILES := false ifneq ($(TARGET_DISABLE_EPPE),true) # Require all requested packages to exist $(call enforce-product-packages-exist-internal,$(wildcard device/*/$(LINEAGE_BUILD)/$(TARGET_PRODUCT).mk),product_manifest.xml rild Calendar Launcher3 Launcher3Go Launcher3QuickStep Launcher3QuickStepGo android.hidl.memory@1.0-impl.vendor vndk_apex_snapshot_package) endif # Bootanimation TARGET_SCREEN_WIDTH ?= 1080 TARGET_SCREEN_HEIGHT ?= 1920 PRODUCT_PACKAGES += \ bootanimation.zip # Build Manifest PRODUCT_PACKAGES += \ build-manifest # Lineage packages ifeq ($(PRODUCT_IS_ATV),) PRODUCT_PACKAGES += \ ExactCalculator \ Jelly endif ifeq ($(PRODUCT_IS_AUTOMOTIVE),) PRODUCT_PACKAGES += \ LineageParts \ LineageSetupWizard endif PRODUCT_PACKAGES += \ LineageSettingsProvider \ Updater PRODUCT_COPY_FILES += \ vendor/lineage/prebuilt/common/etc/init/init.lineage-updater.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.lineage-updater.rc # Config PRODUCT_PACKAGES += \ SimpleDeviceConfig \ SimpleSettingsConfig # Extra tools in Lineage PRODUCT_PACKAGES += \ bash \ curl \ getcap \ htop \ nano \ setcap \ vim PRODUCT_PACKAGES += \ nano_recovery PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ system/bin/curl \ system/bin/getcap \ system/bin/setcap # Filesystems tools PRODUCT_PACKAGES += \ fsck.ntfs \ mkfs.ntfs \ mount.ntfs PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ system/bin/fsck.ntfs \ system/bin/mkfs.ntfs \ system/bin/mount.ntfs \ system/%/libfuse-lite.so \ system/%/libntfs-3g.so # Openssh PRODUCT_PACKAGES += \ scp \ sftp \ ssh \ sshd \ sshd_config \ ssh-keygen \ start-ssh PRODUCT_COPY_FILES += \ vendor/lineage/prebuilt/common/etc/init/init.openssh.rc:$(TARGET_COPY_OUT_PRODUCT)/etc/init/init.openssh.rc # rsync PRODUCT_PACKAGES += \ rsync # Storage manager PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ ro.storage_manager.enabled=true # These packages are excluded from user builds PRODUCT_PACKAGES_DEBUG += \ procmem ifneq ($(TARGET_BUILD_VARIANT),user) PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ system/bin/procmem endif # Root PRODUCT_PACKAGES += \ adb_root ifneq ($(TARGET_BUILD_VARIANT),user) ifeq ($(WITH_SU),true) PRODUCT_PACKAGES += \ su PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ system/xbin/su endif endif # SystemUI PRODUCT_DEXPREOPT_SPEED_APPS += \ CarSystemUI \ SystemUI PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ dalvik.vm.systemuicompilerfilter=speed ifeq ($(TARGET_BUILD_VARIANT),userdebug) PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ debug.sf.enable_transaction_tracing=false endif # SetupWizard PRODUCT_PRODUCT_PROPERTIES += \ setupwizard.theme=glif_v4 \ setupwizard.feature.day_night_mode_enabled=true PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/no-rro PRODUCT_PACKAGE_OVERLAYS += \ vendor/lineage/overlay/common \ vendor/lineage/overlay/no-rro PRODUCT_PACKAGES += \ DocumentsUIOverlay \ NetworkStackOverlay # Translations CUSTOM_LOCALES += \ ast_ES \ gd_GB \ cy_GB \ fur_IT PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/crowdin/overlay PRODUCT_PACKAGE_OVERLAYS += vendor/crowdin/overlay PRODUCT_EXTRA_RECOVERY_KEYS += \ vendor/lineage/build/target/product/security/lineage include vendor/lineage/config/version.mk -include vendor/lineage-priv/keys/keys.mk -include $(WORKSPACE)/build_env/image-auto-bits.mk -include vendor/lineage/config/partner_gms.mk