Thanks for helping. TinyKit is small on purpose, so the bar for new features is "does it fit the design principles?"
Open an issue with your phone model, Android or EMUI version, Shizuku version, what you tapped, and the exact message you saw. The output of the related command from System → Run a command helps a lot.
Security issues: see Privacy & security.
Good fits:
- Something
adb shellcan already do, that's useful, but buried or hidden by Android or a manufacturer. - Something that can be turned off again from the same screen.
Poor fits:
- Anything that needs to run in the background, root, or a new dependency.
- Things Android's Settings app already does well.
- Fork, then branch from
main. - Keep changes focused: one feature or fix per pull request.
- Follow the code's existing style:
- Plain Java, no new libraries, no XML layouts. Build UI with the helpers in
MainActivity's Rows and widgets section. - Shell commands run on the
workerthread. Update views withmain.post. - Quote any value that comes from outside the app with
Shell.quote(). - Short, plain-English UI text that says what will happen. Error messages should say what to do next.
- Comments explain why, especially manufacturer quirks.
- Plain Java, no new libraries, no XML layouts. Build UI with the helpers in
- Add the feature to the home search (
features()inMainActivity) if it opens a page. - Build the release variant and test on a real device. Mention which devices and Android versions you tested on.
- Update the docs in
docs/and the README if behaviour changes.
Translations are welcome, and a translation is one plain text file for the app plus the store listing. See Translating TinyKit for the steps.
Docs live in docs/ as Markdown, written to render on GitHub. Screenshots are in
docs/images/screenshots/ (540 px wide, compressed PNG). Tile icons in docs/images/tiles/
are SVG versions of the app's vector drawables, so update them if you change a tile icon.
By contributing, you agree that your contributions are licensed under the MIT licence.