NativeScript / android-runtime

Build Status

indeholder kildekoden til NativeScript ‘ s Android Runtime. NativeScript er en ramme, der gør det muligt for udviklere at skrive virkelig indfødte mobile applikationer til Android og iOS ved hjælp af JavaScript og CSS. Hver mobilplatform har sit eget økosystem og tilbyder helt forskellige udviklingsværktøjer og sprog – Java til Android og mål C(hurtig) til iOS. For at oversætte JavaScript-kode til de tilsvarende native API ‘ er er der brug for en slags fuldmagtsmekanisme. Dette er præcis, hvad “Runtime” – delene af NativeScript er ansvarlige for. Android Runtime kan betragtes som” broen ” mellem JavaScript og Android verdener. En NativeScript-applikation til Android er en standard native package (apk), som udover JavaScript-filerne også integrerer runtime.

  • hovedprojekter
  • hjælpeprojekter
  • Arkitekturdiagram
  • Byg forudsætninger
  • hvordan man bygger
  • Sådan køres test
  • Misc
  • få hjælp

yderligere dokumenter

flere Viki-sider beskriver nogle interne emner om Runtime her

hovedprojekter

repo er struktureret i følgende projekter (sorteret efter afhængigheder):

  • android-metadata-generator-genererer metadata, der er nødvendige for Android Runtime.
  • android-binding-generator – gør det muligt for Java & Android-typer at blive dynamisk oprettet ved kørsel. Behov for extend rutine.
  • android-runtime – indeholder kernen logik bag NativeScript Android Runtime. Dette projekt indeholder native C++ kode og har brug for Android NDK til at bygge ordentligt.
  • android-runtime-testapp – dette er en vanille Android ansøgning, som indeholder test for runtime projekt.

Helper projekter

  • android-statisk-binding-generator – build værktøj, der genererer bindinger baseret på brugerens javascript-kode.
  • project-template – dette er en tom pladsholder Android ansøgning projekt, der anvendes af NativeScript CLI, når man bygger en Android-projekt.

Arkitekturdiagram

den NativeScript Android Runtime arkitektur kan opsummeres i følgende diagram.

Android Runtime diagram

For flere detaljer om, hvordan det virker, læs dokumentationen.

Byg forudsætninger

Følgende er de minimale forudsætninger for at opbygge runtime-pakken.

  • installer den nyeste Android Studio.
  • fra SDK Manager (Android Studio -> værktøjer -> Android -> SDK Manager) Installer følgende komponenter:
    • Android API-niveau 23, 24, 25, 26, 27
    • Android NDK
    • Android Support Repository
    • Hent bygge værktøjer
    • CMake
    • LLDB
  • klon dette arkiv såvel som undermodulerne: git clone --recurse-submodules [email protected]:NativeScript/android-runtime.git

arbejde med Runtime i Android Studio

  • Åbn test-app-mappen i Android Studio. Det repræsenterer et gyldigt Android-projekt, og du er i stand til at opbygge og køre en testapplikation, der arbejder med Runtime fra kilden.

Bemærk: Du skal muligvis køre Android Studio fra kommandolinjen for at bevare miljøvariablerne. Dette er, hvis du får fejl som “manglende npm”, hvis du starter studiet på den sædvanlige måde.

hvordan man bygger

  • Kør kommando

    vinduer:

    gradlew

    Mac / links:

    ./gradlew
  • byggeprocessen inkluderer opbygning af runtime-pakken (både optimeret og med ustrippet V8-Symboltabel) samt alle supplerende værktøjer, der bruges til android-builds: metadata-generator, bindende-generator, metadata-generator, statisk-bindende-generator

  • resultatet af bygningen vil være i dist-mappen.

    Note: for at skære byggetiden i halvdelen og pakke kun den optimerede (strippede) version af runtime-pakken kommenterer ‘opgaver.generateRuntimeAar.Udfør ()’ i bygningen.gradle script.

Sådan køres test

  • gå til undermappe test-app, når du har bygget runtime.

  • Start en emulator eller tilslut en enhed.

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

  • Kør kommando

gradlew runtest

Bidrag

vi elsker PRs! Tjek de bidragende retningslinjer. Hvis du vil bidrage, men du ikke er sikker på, hvor du skal starte – se efter problemer mærket help wanted.

Misc

  • implementering af yderligere Chrome DevTools protocol Domains

få hjælp

brug venligst GitHub-problemer strengt til rapportering af fejl eller anmodning om funktioner. For generelle spørgsmål og support, tjek Stack overløb eller spørg vores eksperter i Nativescript community Slack channel.