<% if (isJekyll) { %>--- title: tns run position: 12 ---<% } %>
Runs your project on all connected devices or in native emulators for the selected platform.<% if(isConsole && (isLinux || isWindows)) { %>The command will work with all currently running Android devices and emulators.<% } %> The command will prepare, build and deploy the app when necessary. By default listens for changes in your code, synchronizes those changes and refreshes all selected devices.
<% if(isHtml) { %>
When running this command without passing --release
flag, the HMR (Hot Module Replacement) is enabled by default. In case you want to disable HMR, you can pass --no-hmr
flag. When --release
is passed, CLI disables HMR.
With HMR (Hot Module Replacement):
- Changes in
.js
,.ts
,.less
,.sass
and other file types that are accepted will cause a refresh of the application. - Changes in
App_Resources
will cause a rebuild of the application. - Changes in any
package.json
file inside the project will cause a rebuild of the application. - Changes in
node_modules/somePlugin
if accepted will cause a refresh of the application. - Changes in
node_modules/somePlugin/platforms
will cause a rebuild of the application. - Changes in
node_modules/somePlugin/package.json
file will cause a rebuild of the application. - Changes that are not accepted and HMR fails will cause a restart of the native application.
With no HMR:
- Changes in
.js
,.ts
,.less
,.sass
and other file types will cause a restart of the native application. - Changes in
App_Resources
will cause a rebuild of the application. - Changes in any
package.json
file inside the project will cause a rebuild of the application. - Changes in
node_modules/somePlugin
will cause a restart of the native application. - Changes in
node_modules/somePlugin/platforms
will cause a rebuild of the application. - Changes in
node_modules/somePlugin/package.json
file will cause a rebuild of the application. <% } %>
Usage | Synopsis |
---|---|
Run on all connected devices | $ tns run [--release] [--justlaunch] |
Run on a selected connected device or running emulator. Will start emulator with specified Device Identifier , if not already running. |
$ tns run --device <Device ID> [--release] [--justlaunch] |
<% if((isConsole && isMacOS) |
--justlaunch
- If set, does not print the application output in the console.--release
- If set, produces a release build by running webpack in production mode and native build in release mode. Otherwise, produces a debug build.--device
- Specifies a connected device/emulator to start and run the app.<Device ID>
is the index orDevice Identifier
of the target device as listed by the$ tns device <Platform> --available-devices
command.--no-hmr
- Disables Hot Module Replacement (HMR). In this case, when a change in the code is applied, CLI will transfer the modified files and restart the application.--env.*
- Specifies additional flags that the bundler may process. May 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. In this way, the app size will be reduced when using the--aab
option.--env.uglify
- provides basic obfuscation and smaller app size.--env.report
- creates a Webpack report inside areport
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 forcesnpm i
to ensure all dependencies are installed. Otherwise, the command will check the application compatibility with the current CLI version and could fail requiringtns migrate
.
<% if((isConsole && isMacOS) || isHtml) { %>### Arguments
<Platform>
is the target mobile platform for which you want to run your project. You can set the following target platforms:
android
- Run your project on all Android devices and emulators.ios
- Run your project on all iOS devices and simulators.
<% } %>
<% if(isHtml) { %>
- The command will work with all connected devices and running emulators on macOS. On Windows and Linux the command will work with Android devices only.
- In case a platform is not specified and there's no running devices and emulators, the command will fail.
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. |
deploy | Builds and deploys the project to a connected physical or virtual device. |
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. |
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. |
<% } %> |