Install
Kolahal (package com.mtwabpin.kolahal) needs Android 9 (API 28) or newer. Profile
toggling needs Android 10+, and private space needs Android 15+.
Build from source
Section titled “Build from source”You need a JDK and the Android SDK. The project’s toolchain is AGP 9.4.1, Gradle 9.8.2 (through the wrapper), Kotlin 2.4.21, compileSdk 37 and targetSdk 37.
git clone https://github.com/mtwabpin/kolahal.gitcd kolahal
./gradlew :app:assembleRelease # R8-optimised; signed with keystore.properties or the debug key./gradlew :app:assembleLite # release without accessibility and notification access (see below)./gradlew :app:assembleDebug # debug APK ("Kolahal debug", package suffix .debug)./gradlew :app:testDebugUnitTest # JVM tests./gradlew :app:connectedDebugAndroidTest # engines, sandbox, timeouts, :script process, commandsThe APKs end up in app/build/outputs/apk/<variant>/.
The lite build
Section titled “The lite build”Google Play Protect blocks sideloaded apps (installed from a browser, a messaging app or a file
manager) that declare an accessibility service or notification access, in India and some other
countries. The full build has both: the accessibility service only locks the screen, and
notification access shows your notifications in the log. assembleLite builds the same app without
them (its version ends in -lite; same package, so it installs over the full build and the other
way round). It has no lock or double-tap lock, no notifs, no media controls and now-playing
line, and scripts get no notifications.recent() or @on notification. Everything else is the same.
To install the full build where it is blocked, turn off Play Store → profile → Play Protect →
⚙ → Scan apps with Play Protect while installing (and back on after), or install with
adb install.
Signing
Section titled “Signing”Without configuration, the release build is signed with the debug key. To sign with your own key,
create keystore.properties in the repository root (it is git-ignored) with these keys:
storeFile=/path/to/release.jksstorePassword=…keyAlias=…keyPassword=…Sideload the APK
Section titled “Sideload the APK”Copy the APK to the phone and open it, or install over USB:
adb install -r app/build/outputs/apk/release/app-release.apkA sideloaded APK runs without ahead-of-time compilation until Android compiles it during idle maintenance, so it can feel laggy at first. To compile it right away:
adb shell cmd package compile -m speed -f com.mtwabpin.kolahalMake it your home app
Section titled “Make it your home app”Press Home and pick Kolahal, or run home at the prompt to open Android’s default home app
setting. Being the default launcher matters: Android only lets the default launcher pause or resume
the work profile, list app shortcuts and see the private space.
Then run setup and work through the checklist.