Skip to content

Repository files navigation

Toki

Toki icon

An LSPosed module that gives you more control over your TikTok experience.

Build License: MIT Android 9+

English · 简体中文

Download · Changelog · Report a problem · Telegram

Toki provides feed filters, playback controls, media tools and region settings through a Material 3 interface with 57 language options.

AI-generated project. This module is developed with AI-generated code and may contain errors. Review changes and test carefully before relying on it.

Hide My Applist (HMA): Do not hide Toki from TikTok. Toki does not provide HMA compatibility support. See Troubleshooting.

Table of contents

Install

Dependencies

Requirement Supported configuration
Android Android 9 (API 28) or newer
Framework A working LSPosed installation supporting libxposed API 102
TikTok Official client; adapted versions: 47.1.4, 47.0.3, and 46.8.3
Module scope com.zhiliaoapp.musically or com.ss.android.ugc.trill

Toki supports official TikTok clients only. Third-party modified clients, including TikTok Central, are not supported or adapted.

Toki requires the framework to apply changes to TikTok. Other TikTok versions are outside the documented compatibility scope. Download variants can contain different code, so a listed version alone does not guarantee that every feature will work.

Enable the module

  1. Download and install the Toki APK from Releases.
  2. Enable Toki in LSPosed and select your installed TikTok in the module scope.
  3. Open Toki, check the activation status on Home and choose the features you want to enable.
  4. Force-stop TikTok and open it again. If a method-discovery dialog appears, let it finish and dismiss the completion message. Then force-stop TikTok and open it again to apply the saved results.

Upgrade to 1.0.1

Version 1.0.1 uses a new signing key and cannot update the original signed 1.0.0 in place. Export Toki settings, uninstall Toki, install 1.0.1 and import settings. Confirm module activation and scope in LSPosed, then restart TikTok. Do not uninstall TikTok.

Upgrade from 0.x

Toki 1.0.0 uses the package io.github.meiyongai.toki and a new release signing key. It installs separately from the old com.seepd.toki module.

Disable the old module in LSPosed before enabling this one. Settings are not migrated automatically; keep any needed configuration before uninstalling the old app. See the Changelog for migration details.

Usage

Open Toki to configure features, change the interface language, view feature status or import/export settings from Home.

For example, to filter ads, enable ad filtering in the feed settings, restart TikTok and check the feature status in Toki after opening TikTok.

  • Restart when prompted. Newly enabled features, region spoofing, playback speed and immersive layout changes can require a new TikTok session. When Toki indicates that a restart is needed, force-stop TikTok and open it again.
  • Check feature status. The status page distinguishes your requested settings from those applied in the current session and reports adaptation failures. Installed filtering and clean-mode features receive configuration updates during the session.
  • Keep configuration backups. Export settings before reinstalling or making substantial changes, and import them from Home when needed.

Features

Area Options
Feed filters Filter ads across video feeds, including creator profiles. On For You, filter LIVE, photos, AI-labeled videos/photos, topic/creator cards, keywords, authors, duration, views and likes; block offline video insertion.
Playback Custom speeds, automatic clean mode, fullscreen playback, progress-bar options and auto-scroll unlocking.
Media and tools Prefer watermark-free downloads, set custom save folders, handle audio restrictions, configure translation and copy original or translated comment text.
Region Spoof SIM/region, language, time zone and location within TikTok; display creator regions.
Management Feature status, settings import/export, automatic method discovery and 57 interface language options.

Troubleshooting

How to apply method-discovery results

After discovery succeeds, dismiss the completion message, force-stop TikTok and open it again to apply the saved results. If discovery fails, check Toki's feature diagnostics and report the problem.

TikTok crashes before the discovery dialog appears

If you use Hide My Applist (HMA), check whether it hides Toki (io.github.meiyongai.toki) from TikTok. Logs from the previous implementation confirmed a startup crash when the discovery dialog could not find the hidden module package. The current source changes the resource-loading path, but the affected devices and HMA configuration have not been verified with that change.

Remove Toki from the apps hidden from TikTok, or disable HMA's hiding rules for TikTok, then force-stop TikTok and reopen it. Toki does not provide HMA compatibility support. Do not hide Toki from TikTok while using the module.

If the crash persists, include your HMA version and the LSPosed and crash logs from the same launch with your bug report.

A setting has no effect

Check that Toki is enabled, the correct TikTok package is selected in LSPosed and the relevant feature is enabled in Toki. Follow any restart instruction on the feature status page. If adaptation fails, include the TikTok version and download source in your report.

Development

Environment

Component Version or requirement
IDE Android Studio, or Android SDK command-line tools
Gradle runtime JDK 21; Java source/target level is 17
Android SDK Platform 37 (platforms;android-37.0), Build Tools 37.0.0
Build plugins Android Gradle Plugin 9.4.0; Kotlin Compose plugin 2.2.10
Gradle 9.7.1, provided by the wrapper
App SDK levels compileSdk = 37, targetSdk = 35, minSdk = 28

Dependencies are resolved from Google Maven and Maven Central; Gradle plugins also use the Gradle Plugin Portal. Set JAVA_HOME or Android Studio's Gradle JDK to JDK 21, and configure the SDK through ANDROID_HOME or a local local.properties file. Machine-specific paths stay outside version control.

Build and test

Clone the repository and install the SDK packages used by CI:

git clone https://github.com/MeiYongAI/Toki.git
cd Toki
sdkmanager "platforms;android-37.0" "build-tools;37.0.0"

Build a debug APK and run the same verification tasks as CI:

./gradlew :app:assembleDebug
./gradlew :app:testDebugUnitTest :app:lintDebug :app:assembleRelease

In Windows PowerShell, use:

.\gradlew.bat :app:assembleDebug
.\gradlew.bat :app:testDebugUnitTest :app:lintDebug :app:assembleRelease

For release-specific lint checks, run :app:lintRelease with the wrapper. Release builds enable R8 and resource shrinking.

Build APK output
Debug app/build/outputs/apk/debug/app-debug.apk
Release without signing configuration app/build/outputs/apk/release/app-release-unsigned.apk
Release with signing configuration app/build/outputs/apk/release/app-release.apk

Sign a release

Copy keystore.properties.example to keystore/keystore.properties, then supply your own keystore path, alias and credentials. Keystore paths are relative to the repository root. Without this file, the release APK is unsigned and must be signed before installation.

Keep your keystore and keystore/keystore.properties private and backed up. Updates to the same installed app require the same signing key. The project's published release certificate fingerprint is:

SHA-256 34:22:83:7D:EA:4C:40:EC:06:1F:8E:59:94:70:51:2E:87:23:4A:28:4B:C8:51:E1:A6:EA:87:3A:9E:DE:5D:32

Source layout and adaptation

Path Purpose
app/src/main/java/io/github/meiyongai/toki/ Module entry point, hooks, configuration and Compose UI
app/src/main/res/ Android resources and translations
app/src/main/resources/META-INF/xposed/ Xposed module entry, API requirements and scope
app/src/main/resources/toki-host-rules.tsv Host-code fingerprint rules
app/src/test/java/io/github/meiyongai/toki/ Unit and resource/layout tests
Feature installation and method-discovery behavior

Toki selects features from the startup configuration. When all main features are off, it keeps session diagnostics without business hooks or adaptation scanning. SIM, language, time zone, GPS, download-path changes, status bar and duration alerts do not require symbol scanning; watermark-free downloads require source-selection adaptation. Saved progress-bar sub-options and region presets do not enable their parent features.

Official host builds use a common set of code fingerprints and member contracts. There are no adaptation branches selected by version number or download source. Unmatched code is reported as an adaptation failure.

Contributing

Use GitHub Issues for bug reports and feature requests, or join the Telegram group for questions and discussion.

For a bug report, include:

  • Toki and TikTok versions, plus the TikTok download source.
  • Android version, device model and LSPosed version.
  • Reproduction steps, relevant settings, and expected/actual behavior.
  • Whether method discovery completed, feature status and relevant LSPosed logs. For crashes, include crash logs from the same launch.

Remove personal information before sharing logs or screenshots. Follow the issue templates; do not upload TikTok APKs or decompiled host code.

Pull requests are welcome. Describe the problem, resulting behavior and how you verified the change. Run unit tests and lint before submitting, update both README translations when changing documented behavior, and keep generated build files, local SDK paths and signing credentials out of commits.

Support

If Toki is useful to you, you can support development through Ko-fi or Alipay. These options are also available in Toki under Support Toki. Donations are optional.

USDT · TRC20 / Tron

TXoTeZLpbQdn4wZF51858bC3zCwS822HbB

Use the TRC20 (Tron) network only. Verify the address and network before sending.

Disclaimer

Toki is an independent project, not affiliated with or endorsed by TikTok or ByteDance. It modifies app behavior and is provided as is, without warranties of compatibility, reliability or account safety. Use it at your own risk and follow applicable laws and platform terms. Respect creators' rights; download or reuse content only with permission.

License

Copyright © 2026 MeiYongAI. Licensed under the MIT License. Dependency credits and licenses are listed in Third-party notices.

About

面向 TikTok 的 libxposed API 102 功能增强模块

Topics

Resources

Stars

94 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages