ItsZariep/OpenNavBar
2
22
Fork
You've already forked OpenNavBar
0
Open source alternative navigation bar for Android.
  • Kotlin 100%
2026年04月30日 09:03:32 +02:00
app set minimum height to 5, minimum width to 100 ( #5 ) 2026年03月31日 18:31:35 -06:00
extras Initial commit 2026年01月16日 04:46:21 -06:00
fastlane/metadata/android/en-US Prepare 0.0.5 release 2026年02月28日 11:29:35 -06:00
gradle/wrapper Fix metadata and gradle setup 2026年02月06日 19:49:23 -06:00
.gitignore Fix metadata and gradle setup 2026年02月06日 19:49:23 -06:00
build.gradle.kts Initial commit 2026年01月16日 04:46:21 -06:00
gradle.properties Initial commit 2026年01月16日 04:46:21 -06:00
LICENSE Initial commit 2026年01月16日 04:46:21 -06:00
README.md Update README.md 2026年04月30日 09:03:32 +02:00
settings.gradle.kts Initial commit 2026年01月16日 04:46:21 -06:00
TODO.md Enhance Settings I/O behavior 2026年01月21日 15:06:35 -06:00

OpenNavBar

Open source alternative navigation bar for Android.

LiberaPay

Android 7 Android 13 Android 16

Download

Get It on Codeberg Get it at IzzyOnDroid Get it on Obtainium

Features

  • Auto-hide
  • Custom images (you can download some from ONB Wiki)
  • Custom long-press actions
  • Custom width, height and colors
  • Low resource and storage usage

See Full feature list

Requirements

  • Android 7.0 or above
  • 4 MB storage

Monet theming is supported on Android 12 and above.

Some actions may require highest android versions (unsupported actions are hidden) (See Android version differences).

If your device does not have a fully functional navigation bar, follow these steps to set up the app:

  1. Download the APK: Download the latest version using an Option listed above.
  2. Install the App: Open the downloaded file and follow the installation prompts.
  3. Request Permissions: Open the app and attempt to grant the required permissions. If you are on Android 13 or higher, you may find certain toggle switches "greyed out" (Restricted Settings).
  4. Enable Restricted Settings:
    • Return to the app and tap the "Go to App Info" button.
    • Tap the three-dot menu (top-right corner) and select "Allow restricted settings."
    • Use the back button to return to the app.
  5. Activate Services: Grant the Notification and Accessibility permissions as prompted.
  6. Enable the Bar: Toggle the main switch to activate the navigation service.

Build

Prerequisites

  • Java Development Kit (JDK): Version 17
  • Android SDK: API Level 35
  • Gradle

1. Generate a Signing Key

Before you can create a production build, you need a Keystore file (.jks). Run the following command in your terminal to generate one:

keytool -genkey -v -keystore app/my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias zariep

Important

This command will prompt you for a password. Set a password and keep note of the Alias you choose.

The file my-release-key.jks will be created in the root directory

2. Configure Secrets (local.properties)

To keep your passwords out of version control, place your secrets in the local.properties file. Create a file named local.properties in the root directory of the project and add the following lines:

RELEASE_STORE_PASSWORD=111111
RELEASE_KEY_PASSWORD=111111
RELEASE_KEY_ALIAS=zariep

Replace 111111 with your password and zariep with your alias

local.properties and *.jks are excluded from version control by default

3. Build the Program

Debug Build (For Development)

This target doesn't actually require any of the steps described above.

To build an APK for testing on your own device:

./gradlew assembleDebug

Output: app/build/outputs/apk/debug/app-debug.apk

Production Release Build (Stripped & Signed)

This target requires the steps described above.

To generate the final, optimized, and signed production APK:

./gradlew assembleRelease

Output: app/build/outputs/apk/release/app-release.apk