NativeScript / android-runtime

Stato di compilazione

Contiene il codice sorgente per il runtime Android di NativeScript. NativeScript è un framework che consente agli sviluppatori di scrivere applicazioni mobili veramente native per Android e iOS utilizzando JavaScript e CSS. Ogni piattaforma mobile ha il proprio ecosistema e offre strumenti di sviluppo e linguaggi completamente diversi: Java per Android e Objective C (Swift) per iOS. Per tradurre il codice JavaScript nelle corrispondenti API native è necessario un qualche tipo di meccanismo proxy. Questo è esattamente ciò di cui sono responsabili le parti” Runtime ” di NativeScript. Il Runtime Android può essere pensato come “Il ponte” tra il mondo JavaScript e Android. Un’applicazione NativeScript per Android è un pacchetto nativo standard (apk) che oltre ai file JavaScript incorpora anche il runtime.

  • Principali Progetti
  • Helper Progetti
  • Diagramma di Architettura
  • Costruire i Prerequisiti
  • Come costruire
  • Come eseguire test
  • Misc
  • Ottenere Aiuto

Ulteriori documenti

Varie pagine del Wiki descrivere alcune interna argomenti di runtime qui

Principali Progetti

repo è strutturato nei seguenti progetti (in ordine di dipendenze):

  • android-metadati-generatore – genera i metadati necessari per Android Runtime.
  • android-binding-generator-consente Java & tipi di Android da creare dinamicamente in fase di esecuzione. Necessario dalla routine extend.
  • android-runtime-contiene la logica di base dietro il Runtime Android di NativeScript. Questo progetto contiene codice nativo C++ e ha bisogno di Android NDK per costruire correttamente.
  • android-runtime-testapp-si tratta di un’applicazione Android vaniglia, che contiene i test per il progetto di runtime.

Progetti Helper

  • android-static-binding-generator – strumento di compilazione che genera associazioni in base al codice javascript dell’utente.
  • project-template-si tratta di un progetto di applicazione Android segnaposto vuoto, utilizzato dalla CLI NativeScript durante la creazione di un progetto Android.

Diagramma dell’architettura

L’architettura di runtime Android NativeScript può essere riassunta nel diagramma seguente.

Android Runtime diagram

Per maggiori dettagli su come funziona, leggere la documentazione.

Crea prerequisiti

Di seguito sono riportati i prerequisiti minimi per creare il pacchetto runtime.

  • Installa l’ultima versione di Android Studio.
  • Dall’SDK Manager (Android Studio -> Strumenti -> Android> SDK Manager) installare i seguenti componenti:
    • API di Android a Livello di 23, 24, 25, 26, 27
    • Android NDK
    • Supporto per Android Repository
    • Scarica Costruire Strumenti
    • CMake
    • LLDB
  • Clonare il repository così come il sotto-moduli: git clone --recurse-submodules [email protected]:NativeScript/android-runtime.git

Lavorare con il Runtime in Android Studio

  • Aprire la cartella test-app in Android Studio. Rappresenta un progetto Android valido e sei in grado di creare ed eseguire un’applicazione di test che funziona con il Runtime dall’origine.

Nota: potrebbe essere necessario eseguire Android Studio dalla riga di comando per preservare le variabili di ambiente. Questo è nel caso in cui si ottengano errori come” npm mancante ” se si avvia lo studio nel solito modo.

Come costruire

  • Esegui comando

    Windows:

    gradlew

    Mac/Linux:

    ./gradlew
  • Il processo di costruzione e la costruzione del pacchetto di runtime (sia ottimizzato e con i v8 tabella dei simboli), così come tutti complementare strumenti utilizzati per android si basa: metadati-generatore, associazione generatore di metadati-generatore statico-associazione-generatore

  • Il risultato della compilazione sarà nella cartella dist.

    Note: Per dimezzare il tempo di compilazione e impacchettare solo la versione ottimizzata (spogliata) del pacchetto runtime comment out ‘tasks.generateRuntimeAar.execute () ‘ nella build.script gradle.

Come eseguire i test

  • Vai alla sottocartella test-app dopo aver creato il runtime.

  • Avviare un emulatore o collegare un dispositivo.

    Note: Keep in mind the device or emulator needs to have an sdcard mounted.

  • Esegui comando

gradlew runtest

Contribuire

Amiamo PRs! Controlla le linee guida che contribuiscono. Se vuoi contribuire, ma non sei sicuro da dove cominciare, cerca i problemi etichettati help wanted.

Varie

  • Implementazione di ulteriori domini del protocollo Chrome DevTools

Ottieni aiuto

Per favore, usa i problemi github rigorosamente per segnalare bug o richiedere funzionalità. Per domande generali e supporto, controlla Stack Overflow o chiedi ai nostri esperti di NativeScript community Slack channel.