Start using NetBird at netbird.io
See Documentation
Join our Slack channel
The NetBird Android client allows connections from mobile devices running Android to private resources in the NetBird network.
You can download and install the app from the Google Play Store:
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
- close all repositories:
assuming you use a path like ~/projects locally
mkdir ~/projects
cd projects
# clone netbird repo
git clone [email protected]:netbirdio/netbird.git
# clone react native app repo
git clone [email protected]:netbirdio/android-client.git
- 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.
- 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
- Install NDK and CMake
cd ~/projects/android-client
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --install "ndk;23.1.7779620"
- Build the gomobile lib and the Android client lib:
cd ~/projects/android-client
bash -x build-android-lib.sh ~/projects/netbird
- Install the react native app dependencies
yarn install
yarn add file:./react/netbird-lib
- Run the dev version
yarn start
- select
a
to install it on your Android phone or emulator
Follow the steps to run locally until the step 5 then run the following steps:
- 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
- run gradlew
cd ~/projects/android-client/android
./gradlew bundleDebug