Getting Started
Setting up Linux for NativeScript
Setting up Linux for Android
You will need Node, NativeScript CLI (command line interface), Android Studio and a JDK (java development kit).
Android Studio is not strictly necessary — however it provides an easy-to-use interface for installing and managing the Android SDKs.
To install Node follow the instructions specific to your Linux distribution. We recommend using the latest version, however anything above Node 14 should be fine.
Note
We have gone through these steps on Ubuntu 20.04 and noted the commands we used, however depending on your Linux distribution, the commands may be different. We cannot provide commands for all possible distributions, so please refer to the linked documentation to find the correct commands you need to run.
# On Ubuntu 20.04, we used the following command to install latest node
$ curl -fsSL https://deb.nodesource.com/setup_15.x | sudo -E bash -
$ sudo apt-get install -y nodejs
To confirm Node is installed correctly, run:
$ node -v
$ npm -v
# Should print something like
$:v22.x.x
10.x.x
A JDK version 8 or greater is required, and you have a couple options:
- OpenJDK - Adoptium — can be downloaded from Adoptium or your system package manager.
- OpenJDK - AdoptOpenJDK — can be downloaded from AdoptOpenJDK or your system package manager.
- Oracle JDK — can be downloaded directly or through the system package manager.
# On Ubuntu 20.04, we used the following command to install OpenJDK 17
sudo apt-get install -y openjdk-17-jdk
To confirm JDK is installed correctly, run:
$ java --version
$ javac --version
# Should print something like
$:openjdk 17.x.x 202x-xx-xx
OpenJDK Runtime Environment (build xx.x.x+xx-Ubuntu-xxx.xx)
OpenJDK 64-Bit Server VM (build xx.x.x+xx-Ubuntu-xxx.xx, mixed mode, sharing)
javac 17.x.x
Note
NativeScript uses Gradle for Android builds. Different versions of Gradle rely on certain versions of Java to work. If a build fails, check whether the version of Java installed on your system is compatible with the version of Gradle used by NativeScript. The version of Gradle used by NativeScript can be seen in the build logs or in the source.
Setting up the Android development environment can be daunting if you are new to Android development, however following the next steps carefully will get you up and running in no time.
Download and install Android Studio. In the installation wizard, make sure you have the following components selected (the list should appear if you select custom options):
- Android SDK
- Android SDK Platform
- Android Virtual Device
The setup may take a while, but once it has finished a welcome screen should appear.
Android Studio installs the latest Android SDK by default, which in most cases should be all that's needed to build a NativeScript app.
Configure the ANDROID_HOME
environment variable for NativeScript to be able to find the Android SDK, and add the required tools to path.
Add the following lines to your shell profile, usually ~/.bash_profile
or ~/.bashrc
, or if you are using zsh
then ~/.zshrc
config file:
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools
Install the NativeScript CLI globally:
npm install -g nativescript
You may see Deprecation and security warnings from npm, these are safe to ignore. Read more...
The NativeScript CLI relies on 3rd party packages that may have been deprecated over the past years. We are slowly replacing these dependencies with newer, supported alternatives to resolve these warnings, however they are generally safe to ignore, since the CLI is never exposed to the public and it's only used for local development, where most of the security concerns don't apply.
Note
Depending on how you installed Node, you may get an EACCESS: permission denied
error when trying to install a global package. It's generally not recommended to run npm
with sudo
, see this guide for Resolving EACCESS permissions errors.
Verifying the environment
To verify that the installation was successful, open a new Command Prompt window (to ensure the new environment variables are loaded) and run
ns doctor android
If you see No issues were detected then you have successfully set up your system.
Setting up Linux for iOS
❌ Unsupported
A Mac is required to build projects that use native iOS code. Simpler apps can be tested using NativeScript Preview.