LuckyTool: an Xposed module that extends ColorOS on OnePlus and OPPO phones
对ColorOS进行扩展优化的Xposed模块,永久免费
At a glance
- What is it?
- LuckyTool is a GPL-3.0 Kotlin Xposed module that patches ColorOS system behaviour through YukiHookAPI. It is free, it is not on any app store, and its README documents almost nothing about installation.
- Who is it for?
- LuckyTool is for OnePlus and OPPO owners already running LSPosed who want to change ColorOS behaviour without flashing a custom ROM. It is not for anyone unwilling to manage an Xposed framework, or for phones outside the ColorOS family, where it has nothing to hook.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Kotlin, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 7, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What LuckyTool changes on ColorOS, and who it is built for
ColorOS ships a fixed set of behaviours: notifications you cannot dismiss, UI elements you cannot hide, defaults you cannot change. LuckyTool is an Xposed module whose stated purpose is 对ColorOS系统进行的扩展优化的Xposed模块, an extension and optimisation layer for ColorOS. It does not replace the ROM. It hooks into system apps at runtime and alters what they do.
The audience is narrow and specific. You need a OnePlus or OPPO device running ColorOS, and you need an Xposed framework already installed, because the module does nothing on its own. The README points at the LSPosed repository entry for the module, which is how LSPosed users discover and install it. The project is licensed GPL-3.0 and the README states it is permanently free, with an explicit warning that nobody should be paying for it. That warning matters: Xposed modules are commonly repackaged and sold, and the README names two forks it distances itself from, Evil-LuckyTool and LuckyTool-Foss, and asks that the module not be redistributed or resold.
The author also writes that the project is open sourced partly to give others an entry point into module development, and notes that other modules now exist that may do more. That is an unusually candid framing, and it should shape how you read the rest of this page.
The mechanism: YukiHookAPI, scopes, and why OTA updates break it
LuckyTool is written in Kotlin and built on YukiHookAPI, the hooking library the README links to. In Xposed terms, the module does not run as a normal app doing work on its own. The framework injects it into the processes of the apps you select, and the hooks run inside those processes, which is why the module has to declare a scope: the list of target apps whose code it is allowed to modify.
That architecture explains the failure mode the README spends the most words on. After a system upgrade, the module can load without any error and still have no effect. The stated cause is stale optimisation state for the scope apps, and the README gives two remedies: use the 优化 Dex (optimise Dex) function in the module's restart menu, or long-press the scope app inside LSPosed and choose to re-optimise it. The README's own example is a developer-options notification that cannot be removed, fixed by re-optimising the System UI scope.
This is not a bug in LuckyTool so much as a property of the platform it sits on. Any hook module that targets system apps inherits the same problem, and the practical consequence is that a ColorOS OTA is a maintenance event, not a background update. If you are not willing to re-run that optimisation step after firmware updates, the module will appear broken when it is not.
Installing LuckyTool: what the repository actually tells you
The repository does not contain installation instructions. There is no build guide in the README, no release notes, and no setup walkthrough. What the README gives you is where the module lives: the LSPosed module repository, which is the normal distribution channel for Xposed modules and the place LSPosed's own module list pulls from.
The practical path is therefore: install and activate an Xposed framework that supports module repositories (LSPosed is the one the README names), then install LuckyTool from that repository entry, enable it, and select the scopes it needs. The README does not enumerate those scopes, so you determine them from the module's own UI after installation.
The repository is a Gradle Kotlin project with the wrapper committed at the top level (gradlew, gradlew.bat, settings.gradle.kts, build.gradle.kts, and an app module). The README does not document a build command, and no build instructions appear in the repository files, so there is no command to quote here. The README also does not state a minimum Android version, a required ColorOS version, or a required LSPosed version, so none of that can be confirmed from the repository. Treat any version claim you see elsewhere as unverified.
After installing and enabling the module, the first thing to check is whether hooks are actually applying. Pick one behaviour the module exposes, change it, and confirm it takes effect after a restart of the target app. If nothing changes and there is no error, that is the stale-optimisation case described above, and the fix is the re-optimisation step, not a reinstall.
The limitation the README admits, and the one it does not
The admitted limitation is scope. LuckyTool hooks ColorOS. On a device running a different Android skin, or stock Android, there is nothing for the hooks to attach to. This is not a module you install on a Pixel and configure; it is a module whose entire value is tied to one vendor's system apps. The README's framing, an extension and optimisation layer for ColorOS, is precise about that.
The unadmitted limitation is documentation. The repository has a Problems.md file at the top level, but the README does not explain what it contains, and there is no troubleshooting section beyond the re-optimisation advice. There is no rollback procedure documented. There is no list of what each hook does. For a module that modifies system UI and system settings, that is a real gap: you are asked to enable behaviour changes on your daily phone without a reference for what those changes are or how to undo them. The changelog lives on an external documentation site the README links to, not in the repository.
A second consideration is that this is a system-level modification. Anything that hooks System UI can produce a boot loop or a broken notification shade if a hook misfires against a ColorOS version it was not written for. The README does not claim otherwise, and the absence of any compatibility matrix means the burden of testing falls on you.
How LuckyTool differs from a custom ROM or a Magisk module
The obvious alternative is flashing a custom ROM. That gives you a different system rather than a modified one, and it typically costs you the vendor camera processing, some ColorOS features, and your OTA path. LuckyTool takes the opposite approach: keep ColorOS, keep the vendor stack, and change specific behaviours at runtime. If your reason for considering a custom ROM was one or two annoyances in ColorOS rather than the whole system, the module is the smaller intervention.
Magisk modules are a different layer again. Magisk operates on the system partition and on boot-time modifications, replacing or adding files. LuckyTool operates inside running processes through the Xposed API. A Magisk module can change what the system loads; LuckyTool changes what already-loaded code does. They are not substitutes, and the search terms that pair LuckyTool with Magisk reflect users running both, not users choosing between them.
The README also points to other modules that it says may now be better than LuckyTool. That is worth taking at face value. The Xposed module space for ColorOS is not empty, and the author's own statement is the strongest available signal that you should compare before committing.
Licence, maintenance and what an upgrade costs you
LuckyTool is GPL-3.0. In practical terms for a user, that means the source is available and anyone distributing a modified build must do so under the same licence. It does not give you any warranty, and it does not make a repackaged paid build legitimate. The README explicitly says the module is permanently free and warns about being deceived, and it asks that the module not be redistributed or resold. If you find LuckyTool behind a paywall, that listing is not the project.
The repository is not archived, and the last push was on 2026-08-28. The README notes that the author has a busy day job and does not make money from the module, which is a reasonable expectation-setter for response times on bug reports. Feedback is directed to a Telegram group rather than the issue tracker, and there is no release information in the repository, so there is no way to describe a release cadence.
The upgrade cost is the part to plan for. Every ColorOS OTA is a potential breakage point, and the recovery step is re-optimising the scope apps through LSPosed or the module's own Dex optimisation menu. That is a few minutes of work, but it recurs, and it happens at the moment you least want to be debugging your phone. Budget for it, or do not install the module.
Editorial conclusion
LuckyTool is for OnePlus and OPPO owners already running LSPosed who want to change ColorOS behaviour without flashing a custom ROM. It is not for anyone unwilling to manage an Xposed framework, or for phones outside the ColorOS family, where it has nothing to hook. Before installing, confirm your device runs ColorOS, that LSPosed is working, and which scopes the module needs enabled. After any system OTA, expect to re-optimise the scope apps before the hooks take effect again.
Frequently asked questions
How do I use LuckyTool?
Install an Xposed framework such as LSPosed, install LuckyTool from the LSPosed module repository entry the README links to, enable the module, and select the scopes it needs. After a system upgrade, if the module loads without errors but has no effect, use the optimise Dex function in the module's restart menu or re-optimise the scope app from LSPosed.
Does LuckyTool work on phones that are not running ColorOS?
No. The README describes LuckyTool as an Xposed module for extending and optimising ColorOS, so its hooks target ColorOS system apps. On a different Android skin there is nothing for the module to modify.
Is LuckyTool free?
Yes. The README states the module is permanently free and warns users not to be deceived by paid copies. It also asks that the module not be redistributed, resold or re-uploaded elsewhere.
What licence is LuckyTool released under?
GPL-3.0, per the repository's LICENSE.txt and the project metadata. The source is public and the README links to a Crowdin project for translations.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/luckyzyx-luckytool)