One UI Home Clone is an independent Android launcher for people who like Samsung's familiar home-screen flow and want an open Kotlin and Compose implementation. It is a clone, not a port. No Samsung code, logos, wallpapers, or proprietary glyphs are included.
Download the signed APK · View the release notes
The screenshots below come from the signed v0.2.5 APK running on an isolated Android 15 emulator.
| Home | Apps | Finder |
|---|---|---|
![]() |
![]() |
![]() |
| Edit mode | Widgets | Home settings |
|---|---|---|
![]() |
![]() |
![]() |
- The Home and Apps screens follow the interaction model Samsung users already know.
- Finder searches installed apps, launcher settings, actions, shortcuts, and optional local contacts.
- Home pages support folders, app shortcuts, notification badges, widgets, grid controls, and a dedicated edit surface.
- Phone portrait, landscape, foldable-width, and tablet layouts use separate responsive grid contracts.
- Standard and reduced motion modes respond immediately without restarting the activity.
- Local backup, restore, and sanitized diagnostics tools make experimentation recoverable.
This project favors familiar behavior over a wall of novelty settings. The goal is a launcher that feels easy on the first swipe.
- Download the latest signed APK.
- Open the file on your Android device and allow installation from that source if Android asks.
- Launch One UI Home Clone, then tap Open Home settings.
- Choose One UI Home Clone as the Home app.
Android may place the Home app setting under Settings > Apps > Default apps > Home app. Existing installs can be upgraded without clearing launcher data:
adb install -r one-ui-home-clone-v0.2.5-release.apkOne UI Home Clone has no INTERNET permission. Launcher data stays on the device unless you choose to export a backup or diagnostics file.
- Installed-app inventory is used locally to draw icons, folders, search results, and launch targets.
- Contact search is off by default. It needs both the in-app setting and Android's Contacts permission. Names are never added to recent searches or exports.
- Notification badges are also off by default. When enabled, the launcher keeps only aggregate per-app counts.
- Settings, pages, recent Finder searches, hidden apps, and widget IDs live in app-private storage. Android backup is disabled for this data.
The diagnostics export contains version, Android SDK, launcher state, sanitized crash fields, and aggregate counts. It does not include app names, contact names, notification text, or search history.
| Area | Included |
|---|---|
| Home | Multiple pages, folders, dock, Apps button, page management, wallpaper atmosphere |
| Apps | Custom or alphabetical order, paged grid, hide-app controls, local Finder |
| Widgets | Android provider discovery, binding, setup flow, resize, move, recovery |
| Personalization | Home and Apps grids, folder grid, labels, media page, motion, badges |
| Reliability | Crash recovery, bounded local stores, backup rollback, Baseline Profile |
| Accessibility | TalkBack semantics, RTL fixtures, pseudo-locale checks, reduced motion |
The Android project lives in prototype-android/. It needs Android Studio with API 37 installed and JDK 17 or newer.
cd prototype-android
$env:JAVA_HOME='C:\Program Files\Android\Android Studio\jbr'
$env:ANDROID_HOME="$env:LOCALAPPDATA\Android\Sdk"
.\gradlew.bat :app:testDebugUnitTest :app:lintDebug :app:assembleDebugRun the connected Compose checks on an emulator:
$env:ANDROID_SERIAL='emulator-5590'
.\gradlew.bat :app:connectedDebugAndroidTestSigned packaging uses a local prototype-android/keystore.properties file. Copy keystore.properties.example, add your keystore values, then run:
.\gradlew.bat clean :app:releaseChannelPackageThe release task writes a versioned APK and JSON metadata with its SHA-256 digest under prototype-android/app/build/outputs/release-channel/.
Brand files and the downloadable icon pack are reproduced with build-brand-assets.ps1. Release screenshots are reproduced on an isolated emulator with capture-marketing.ps1.
Samsung and One UI are trademarks of Samsung Electronics Co., Ltd. This project is not affiliated with or endorsed by Samsung. All shipped visual assets are original project artwork.






