NativeScript / android-runtime

Build Status

bevat de broncode voor de Android Runtime van de NativeScript. NativeScript is een framework dat ontwikkelaars in staat stelt om echt native mobiele applicaties te schrijven voor Android en iOS met behulp van JavaScript en CSS. Elk mobiel platform heeft zijn eigen ecosysteem en biedt totaal verschillende ontwikkeltools en taal (en) – Java voor Android en Objective C (Swift) voor iOS. Om JavaScript-code te vertalen naar de bijbehorende inheemse API ‘ s is een soort proxy-mechanisme nodig. Dit is precies waarvoor de” Runtime ” delen van NativeScript verantwoordelijk zijn. De Android Runtime kan worden gezien als” de brug ” tussen de JavaScript en Android werelden. Een NativeScript applicatie voor Android is een standaard native pakket (apk) die naast de JavaScript-bestanden insluiten de runtime ook.

  • Projecten
  • Helper Projecten
  • Architectuur Diagram
  • Bouwen Vereisten
  • Hoe te bouwen
  • het uitvoeren van tests
  • Diversen
  • Hulp

Aanvullende documenten

Enkele Wiki-pagina ‘ s beschrijven een aantal interne onderwerpen over de runtime hier

Projecten

De repo is gestructureerd in de volgende projecten (besteld door afhankelijkheden):

  • android-metadata-generator genereert metagegevens die nodig zijn voor de Android-Runtime.
  • android-binding-generator-hiermee kunnen Java & Android-typen dynamisch worden aangemaakt tijdens runtime. Nodig voor de extend – routine.
  • android-runtime-bevat de kernlogica achter de Android Runtime van het NativeScript. Dit project bevat native C++ code en heeft de Android NDK nodig om goed te bouwen.
  • android-runtime-testapp-dit is een vanilla Android-applicatie, die de tests voor het runtime-project bevat.

Helperprojecten

  • Android-static-binding – generator-build tool die bindingen genereert op basis van de javascript-code van de gebruiker.
  • project-template – dit is een leeg placeholder Android applicatie project, gebruikt door de NativeScript CLI bij het bouwen van een Android project.

Architectuurdiagram

de NativeScript Android Runtime-architectuur kan in het volgende diagram worden samengevat.

Android Runtime diagram

lees de documentatie voor meer informatie over hoe het werkt.

bouwvereisten

Hieronder volgen de minimale vereisten om het runtime-pakket te bouwen.

  • installeer de nieuwste Android Studio.
  • van de SDK Manager (Android Studio -> Tools -> Android -> SDK Manager) installeer de volgende componenten:
    • Android API Level 23, 24, 25, 26, 27
    • Android NDK
    • Android Support Repository
    • Download Build Tools
    • CMake
    • LLDB
  • Cloon deze repository en de submodules: git clone --recurse-submodules [email protected]:NativeScript/android-runtime.git

werken met de Runtime in Android Studio

  • Open de map test-app in Android Studio. Het vertegenwoordigt een geldig Android-project en je bent in staat om te bouwen en uitvoeren van een test applicatie werken met de Runtime van de bron.

Opmerking: Het kan nodig zijn om de Android Studio vanaf de opdrachtregel uit te voeren om de omgevingsvariabelen te behouden. Dit is voor het geval je fouten krijgt zoals “ontbrekende npm” als je de studio op de gebruikelijke manier start.

bouwen

  • opdracht

    uitvoeren Windows:

    gradlew

    Mac / Linux:

    ./gradlew
  • het bouwproces omvat het bouwen van de runtime pakket (zowel geoptimaliseerd en met unstripped V8 symbol table), evenals alle aanvullende tools die worden gebruikt voor de android bouwt: metadata-generator, binding-generator, metadata-generator, statische-binding-generator

  • het resultaat van de build zal in de dist map staan.

    Note: om de bouwtijd te halveren en alleen de geoptimaliseerde (gestripte) versie van het runtime-pakket te verpakken commentaar ’taken.generateruntimaar.uitvoeren () ‘ in de build.gradle script.

hoe testen uit te voeren

  • Ga naar submap test-app nadat u de runtime hebt gebouwd.

  • Start een emulator of sluit een apparaat aan.

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

  • commando uitvoeren

gradlew runtest

bijdragen

we houden van PRs! Bekijk de bijdragende richtlijnen. Als u wilt bijdragen, maar niet zeker weet waar u moet beginnen – zoek naar problemen met het label help wanted.

Misc

  • additional Chrome DevTools protocol Domains

hulp ophalen

gebruik GitHub-problemen strikt voor het rapporteren van bugs of het aanvragen van functies. Voor algemene vragen en ondersteuning, check out Stack Overflow of Vraag onze experts in NativeScript community Slack channel.