NOTE! You are browsing legacy documentation. For latest visit docs.nativescript.org.

NativeScript Core

tns deploy

Description

Prepares, builds and deploys the project to a connected device or native emulator. You must specify the target platform on which you want to deploy. It will deploy the app on all connected devices targeting the selected platform.

IMPORTANT: Before building for iOS device, verify that you have configured a valid pair of certificate and provisioning profile on your macOS system. For more information, see the Code Signing and Maintain Signing Assets sections from the Apple Developer documentation.

Commands

Usage Synopsis
Deploy on Android $ tns deploy android [--device <Device ID>] [--key-store-path <File Path> --key-store-password <Password> --key-store-alias <Name> --key-store-alias-password <Password>] [--release] [--aab]
Deploy on iOS $ tns deploy ios [--device <Device ID>] [--release]

Options for iOS

  • --device - Deploys the project on the specified connected physical or virtual device. <Device ID> is the index or name of the target device as listed by the $ tns devices command.
  • --release - If set, produces a release build. Otherwise, produces a debug build.

Options for Android

  • --device - Deploys the project on the specified connected physical or virtual device. <Device ID> is the index or name of the target device as listed by the $ tns devices command.
  • --clean - If set, forces the complete rebuild of the native application.
  • --release - If set, produces a release build. Otherwise, produces a debug build. When set, you must also specify the --key-store-* options.
  • --key-store-path - Specifies the file path to the keystore file (P12) which you want to use to code sign your APK. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options.
  • --key-store-password - Provides the password for the keystore file specified with --key-store-path. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options.
  • --key-store-alias - Provides the alias for the keystore file specified with --key-store-path. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options.
  • --key-store-alias-password - Provides the password for the alias specified with --key-store-alias-password. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options.
  • --env.* - Specifies additional flags that the bundler may process. Can be passed multiple times. Supported additional flags:
    • --env.aot - creates Ahead-Of-Time build (Angular only).
    • --env.snapshot- creates a V8 Snapshot decreasing the app start time (only for release builds for Android).
    • --env.compileSnapshot- compiles the static assets produced by --env.snapshot into .so files allowing the native build to split them per architecture. This will reduce the app size when using the --aab option.
    • --env.uglify - provides basic obfuscation and smaller app size.
    • --env.report - creates a Webpack report inside a report folder in the root folder.
    • --env.sourceMap - creates inline source maps.
    • --env.hiddenSourceMap - creates sources maps in the root folder (useful for Crashlytics usage with bundled app in release).
  • --aab - Specifies that the command will produce and deploy an Android App Bundle.
  • --force - If set, skips the application compatibility checks and forces npm i to ensure all dependencies are installed. Otherwise, the command will check the application compatibility with the current CLI version and could fail requiring tns migrate.

Command Limitations

  • You can run $ tns deploy ios only on macOS systems.
  • When the --release flag is set for an Android build, you must also specify all --key-store-* options.
Command Description
appstore Lists applications registered in iTunes Connect.
appstore upload Uploads project to iTunes Connect.
build android Builds the project for Android and produces an APK that you can manually deploy on device or in the native emulator.
build ios Builds the project for iOS and produces an APP or IPA that you can manually deploy in the iOS Simulator or on device, respectively.
build Builds the project for the selected target platform and produces an application package that you can manually deploy on device or in the native emulator.
debug android Debugs your project on a connected Android device or in a native emulator.
debug ios Debugs your project on a connected iOS device or in a native emulator.
debug Debugs your project on a connected device or in a native emulator.
run android Runs your project on a connected Android device or in a native Android emulator, if configured.
run ios Runs your project on a connected iOS device or in the iOS Simulator, if configured.
run Runs your project on a connected device or in the native emulator for the selected platform.
test init Configures your project for unit testing with a selected framework.
test android Runs the tests in your project on Android devices or native emulators.
test ios Runs the tests in your project on iOS devices or the iOS Simulator.