Zoltán Papp 9d91e98ee4 Make the route change listener list safe to iterate from the Go thread
onNetworkChanged walks the list on the Go callback thread while the main
thread adds and removes listeners on every bind and unbind, so a route update
that landed during a rebind could throw ConcurrentModificationException
inside the gomobile callback and take the service process down.
2026-09-06 11:48:01 +02:00
2025-06-05 20:37:51 +02:00
2026-08-07 19:06:33 +02:00
2026-09-06 11:32:09 +02:00
2025-06-05 20:37:51 +02:00
2025-11-21 15:33:42 +01:00
2026-08-07 19:06:33 +02: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%