Home

Awesome

Android Runtime for NativeScript

Build Status

Contains the source code for the NativeScript's Android Runtime. NativeScript is a framework which enables developers to write truly native mobile applications for Android and iOS using JavaScript and CSS. Each mobile platform has its own ecosystem and offers completely different development tools and language(s) - Java for Android and Objective C (Swift) for iOS. In order to translate JavaScript code to the corresponding native APIs some kind of proxy mechanism is needed. This is exactly what the "Runtime" parts of NativeScript are responsible for. The Android Runtime may be thought of as "The Bridge" between the JavaScript and Android worlds. A NativeScript application for Android is a standard native package (apk) which besides the JavaScript files embed the runtime as well.

<!-- TOC depthFrom:2 --> <!-- /TOC -->

Additional docs

Several Wiki pages describe some internal topics about the runtime here

Main Projects

The repo is structured in the following projects (ordered by dependencies):

Helper Projects

Architecture Diagram

The NativeScript Android Runtime architecture can be summarized in the following diagram.

Android Runtime diagram

For more details on how it works, read the documentation.

Build Prerequisites

Following are the minimal prerequisites to build the runtime package.

Working with the Runtime in Android Studio

Note: You might need to run the Android Studio from the command line in order to preserve the environment variables. This is in case you get errors like "missing npm" if starting the studio the usual way.

How to Build

How to Run Tests

gradlew runtests

How to Connect the Inspector

cd test-app
npm install
npx ns debug android --start

(If you instead have the nativescript NPM module installed globally, you can omit the npm install and the npx prefix.)

Contribute

We love PRs! Check out the contributing guidelines. If you want to contribute, but you are not sure where to start - look for issues labeled help wanted.

Misc

Get Help

Please, use github issues strictly for reporting bugs or requesting features. For general questions and support, check out Stack Overflow or ask our experts in NativeScript community Slack channel.