Zoltan Papp 0d1a201419 Adapt the e2e profile flow to the overflow-menu profile rows (#262)
* Adapt the e2e profile flow to the overflow-menu profile rows

The profile list no longer has per-row Switch and Remove buttons. A row
is tapped to switch, the active row shows a badge, and Remove lives in
the row's overflow menu. LoginFlow still looked for btn_switch and
btn_remove, so the login smoke test failed on a profile that was
actually created and enrolled, and fail-fast skipped the rest of the
suite.

* Wait for the network map before the first DNS lookup in the e2e test

The status reads Connected before the first network map is applied, and
the DNS zones arrive with that map. DnsResolutionTest fired its first
lookup in that gap: NetBird DNS forwarded it to the plain upstream, got
NXDOMAIN, and Android negative-cached it for the SOA TTL, so none of the
retries in the 90s budget reached the NetBird DNS again.

The harness now waits for the Peers tab to list a peer before the first
lookup. The engine registers the DNS config before it adds the map's
peers, so a listed peer proves the zones are in place.
2026-09-09 09:59:37 +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%