Skip to content

netbirdio/android-client

Repository files navigation


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

menu peer-overview mainscreen

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/)
  • npm 1.18, yarn and nvm:
# download and install nvm https://github.com/nvm-sh/nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
#
nvm install v19
nvm use v19
npm install -g yarn
npm install -g npx

run locally

  1. close all repositories:

assuming you use a path like ~/projects locally

mkdir ~/projects
cd projects
# clone netbird repo
git clone git@github.com:netbirdio/netbird.git
# clone react native app repo
git clone 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"
  1. Build the gomobile lib and the Android client lib:
cd ~/projects/android-client
bash -x build-android-lib.sh ~/projects/netbird
  1. Install the react native app dependencies
yarn install
yarn add file:./react/netbird-lib
  1. Run the dev version
yarn start
  1. select a to install it on your Android phone or emulator

Generate debug bundle

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

  1. run npx from react native app repo
cd ~/projects/android-client
npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
  1. run gradlew
cd ~/projects/android-client/android
./gradlew bundleDebug