Zoltán Papp 14fc04a43b Add an anonymization level picker to the debug bundle screen
The troubleshoot screen exposed anonymization as a plain on/off switch that
kept no state: it reset to off on every fragment recreation, so a bundle went
up unanonymized unless the user toggled it again right before uploading. The
strict level the Go binding already exports was unreachable, because
EngineRunner passed AnonymizeLevelDefault unconditionally.

Replace the switch with a None / Default / Strict picker that mirrors the
desktop client. The selection persists in the app-wide SharedPreferences and
defaults to Default. The row moves from the Logging section into the Debug
bundle section, since it only affects the bundle.

The picker is a bottom sheet built on the existing SplitTunnelModeSheet
pattern, so each level carries a description explaining what it hides. The
level-to-parameter mapping follows the desktop client: "none" turns the
anonymize flag off, and the daemon only ever sees "default" or "strict".

Level names and descriptions are taken from the already translated desktop
strings for all ten locales.
2026-09-11 17:11:43 +02:00
2025-06-05 20:37:51 +02:00
2025-06-05 20:37:51 +02:00
2025-11-21 15:33:42 +01:00
2024-02-28 19:21:08 +01:00
2025-06-05 20:37:51 +02:00
2025-06-05 20:37:51 +02:00
2025-06-05 20:37:51 +02:00
2024-02-28 19:21:08 +01:00


Start using NetBird at netbird.io
See Documentation
Join our Slack channel


NetBird Android client

The NetBird Android client allows connections from mobile devices running Android to private resources in the NetBird network.

Screenshots

mainscreen peer-overview peer-detail

Install

You can download and install the app from the Google Play Store:

Get it on Google Play

Building from source

Requirements

We need the following software:

  • Java 1.11. Usually comes with Android Studio
  • android studio initialized with jdk and emulator (not covered here, is a req from android-client project)
  • gradle (https://gradle.org/install/)

Prepare development environment

  1. Close all repositories:

assuming you use a path like ~/projects locally

mkdir ~/projects
cd projects
# clone netbird repo
git clone --recurse-submodules git@github.com:netbirdio/android-client.git
  1. Checkout the repositories to the branches you want to test. If you want the latest, check the status information on your IDE or on https://github.com and verify the branch list and commit history.
  2. Export JDK and Android home vars, on macOS they are: (please contribute with Linux equivalent)
# replace <USERNAME> with your name
export ANDROID_HOME=/Users/<USERNAME>/Library/Android/sdk
export JAVA_HOME=/Applications/Android Studio.app/Contents/jbr/Contents/Home
  1. Install NDK and CMake
cd ~/projects/android-client
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --install "ndk;23.1.7779620"

Generate debug bundle

Follow the steps to run locally until the step 5 then run the following steps:

  1. Build Go agent library
cd ~/projects/android-client
./build-android-lib.sh
  1. Run gradlew
cd ~/projects/android-client/android
./gradlew bundleDebug  -PversionCode=123 -PversionName=1.2.3
Languages
Java 96.8%
HTML 1.5%
CSS 1%
Shell 0.7%