Effortlessly extract and manage system properties from Pixel OTA updates with this robust automation suite. Designed for developers and enthusiasts alike, it simplifies the process of accessing and customizing Android build properties.
-
Unix-like environment: Linux or macOS with Bash.
-
Core utilities: Ensure you have the following installed:
dos2unix
,aria2
,zip
,unzip
,p7zip
,curl
-
Python ^3.8:
sudo apt-get update -y sudo apt-get install python3 python3-pip python3-venv -y
-
Clone the repository (including submodules):
git clone --recurse https://github.com/Pixel-Props/build.prop && cd build.prop
-
Create and activate a virtual environment (optional but recommended):
python3 -m venv .venv . .venv/bin/activate
-
Install dependencies:
python3 -m pip install payload_dumper --break-system-packages
- Obtain Pixel Images: Download the desired factory or OTA images from Google Android Images or the Beta OTA Pages.
- Stay Up-to-Date:
- Fetch the latest OTA images with
./download_latest_ota_build.sh <device_name1> <device_name2> ...
(e.g.,husky
,felix_beta
,cheetah
,akita_beta15
).
- Fetch the latest OTA images with
- Effortless Extraction:
- Place the downloaded image files within the project's workspace.
- Execute
./extract_images.sh
to automatically extract images and their build properties intoresult/Codename_ID ...
.
- Effortless Module Integration:
- Execute
./build_module.sh
to automatically combine and build your module from theresult/
dir.
- Execute
- Automated OTA Acquisition: Downloads the latest builds directly from Google's official sources.
- Seamless Image Extraction: Extracts system images from both factory images and OTA updates.
- Build Prop Generation: Automatically generates
build.prop
files from extracted system images. - Magisk Module Features:
service.sh
:- Safe Mode: Prevents accidental modification of critical system settings by comparing module properties with existing system values.
- Integrated Sensitive Props Mod Features: Incorporates all Sensitive Props Mod features and disables them if the standalone module is also present, avoiding conflicts.
- PIHooks (PropImitationHooks): A powerful internal prop spoofing system that dynamically sets essential properties based on the properties of the module defined in
MOD_PROP_CONTENT
that is being spoofed.- Automatic PIHooks Disable: PIHooks intelligently disables itself when it detects a properly configured Play Integrity Fix module.
- Selective
build.prop
Integration: PIHooks utilizes values from your device's actualbuild.prop
only when setting specific properties, like the initial SDK version, when those values are considered safe and necessary.
action.sh
:- PlayIntegrityFix: Automatically builds the
PIF.json
configuration when using a Beta OTA. Provides options to download pre-built configurations or crawl Google's OTA pages to generate a list of devices for building the configuration. - TrickyStore: Automatically builds the target app package list and handles broken TEE status.
- PlayIntegrityFix: Automatically builds the
- GitHub Actions Integration:
- Scheduled Workflows: Automate updates, builds, and releases on a schedule.
- Duplicate Release Prevention: Prevents redundant releases with intelligent checks.
- Telegram Notifications: Receive timely updates about build processes.
- Future Enhancements:
- Pixel.Features: Add support for building Pixel-specific features (currently includes
sysconfigs
).
- Pixel.Features: Add support for building Pixel-specific features (currently includes
This project is provided for educational and experimental purposes. While designed for efficiency, it's crucial to use this tool responsibly.
- Code Review: Thoroughly review and understand the code before deploying it in any environment.
- Security Best Practices: Adhere to industry standards for security and legal compliance.
The creators of this project are not liable for any misuse or damages resulting from its use.
Ready to streamline your Android customization workflow? Dive in and unlock the power of automated build.prop extraction! Contributions are welcome to enhance the project's functionality and scope.