Contributions to HyperChanger are accepted under the Apache License 2.0. By submitting a contribution, you agree that it is licensed under the terms in LICENSE; historical MIT attribution is documented in NOTICE.
Thank you for contributing to HyperChanger. These guidelines keep changes reviewable and releases dependable.
-
Fork the repository on GitHub.
-
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/HyperChanger.git cd HyperChanger -
Create a branch for one focused change:
git checkout -b feat/your-feature-name
- Android Studio Narwhal (2025.1) or later
- JDK 17+
- Android SDK 37
- A compatible test device or emulator where applicable
Open the project in Android Studio, allow Gradle sync to complete, and verify your change with:
./gradlew assembleDebug-
Keep each commit focused on one logical change.
-
Use concise English commit messages, for example:
feat: add lock screen shortcut option fix: avoid System UI restart loop docs: clarify LSPosed setup -
Follow the existing Kotlin and Java style. The project uses the Kotlin official code style.
-
Preserve compatibility with the declared minimum SDK unless the change explicitly updates support requirements.
-
Do not include APKs, keystores, generated build directories, device logs, or personal configuration files in a pull request.
-
Build and test the branch on every relevant target scope.
-
Push the branch to your fork:
git push origin feat/your-feature-name
-
Open a pull request against this repository's
mainbranch. -
Describe what changed, how it was tested, and any compatibility impact. Include screenshots for UI changes and relevant Logcat output for hook-related fixes.
Open an issue before implementing large behavior changes, new hook targets, or API changes so the approach can be discussed first.
Include the following in a bug report:
- Device model, Android version, and HyperOS version
- HyperChanger version and LSPosed version
- Enabled module scopes and relevant settings
- Clear reproduction steps
- Expected and actual behavior
- Relevant Logcat output with sensitive information removed
Keep discussion respectful, constructive, and focused on the project.