NativeScript / android-runtime
Inneholder kildekoden for Nativescripts Android Runtime. NativeScript er et rammeverk som gjør det mulig for utviklere å skrive virkelig innfødte mobile applikasjoner For Android og iOS ved Hjelp Av JavaScript og CSS. Hver mobilplattform har sitt eget økosystem og tilbyr helt forskjellige utviklingsverktøy og språk-Java For Android og Objective C (Swift) for iOS. For å oversette JavaScript-kode til de tilsvarende innfødte Apier noen form for proxy mekanisme er nødvendig. Dette er akkurat hva» Runtime » – delene Av NativeScript er ansvarlige for. Android Runtime kan betraktes som «Broen» mellom JavaScript og Android verdener. En NativeScript-applikasjon For Android er en standard innfødt pakke(apk) som i tillegg Til JavaScript-filene også legger inn kjøretiden.
- Hovedprosjekter
- Hjelpeprosjekter
- Arkitekturdiagram
- Bygg Forutsetninger
- slik bygger du
- slik kjører du tester
- Diverse
- Få Hjelp
tilleggsdokumenter
Flere Wiki-Sider Beskriver Noen Interne Emner Om Kjøretiden Her
Hovedprosjekter
Repo Er Strukturert I Følgende Prosjekter (sortert etter avhengigheter):
- android-metadata-generator-genererer metadata nødvendig For Android Runtime.
- android-binding-generator – aktiverer Java & Android typer å være dynamisk opprettet under kjøring. Nødvendig av
extend
rutinen. - android-runtime-inneholder kjernen logikken bak NativeScript Android Runtime. Dette prosjektet inneholder innfødt C++ – kode og trenger Android NDK for å bygge riktig.
- android-runtime-testapp – dette er en vanilje Android Program, som inneholder testene for runtime prosjektet.
Helper Prosjekter
- android-statisk-binding-generator-bygge verktøy som genererer bindinger basert på brukerens javascript-kode.
- project-template – dette er en tom plassholder Android Søknad prosjekt, som brukes Av NativeScript CLI når du bygger En Android-prosjekt.
Arkitekturdiagram
NativeScript Android Runtime architecture kan oppsummeres i følgende diagram.
les dokumentasjonen for mer informasjon om hvordan det fungerer.
Bygge Forutsetninger
Følgende er minimale forutsetninger for å bygge runtime-pakken.
- Installer den nyeste Android Studio.
- FRA SDK Manager (Android Studio -> Verktøy -> Android -> SDK Manager) installer følgende komponenter:
- ANDROID API-Nivå 23, 24, 25, 26, 27
- Android NDK
- Android Støtte Repository
- Last Ned Bygge Verktøy
- CMake
- LLDB
- Klone dette depotet så vel som submodules:
git clone --recurse-submodules [email protected]:NativeScript/android-runtime.git
Arbeide Med Runtime I Android Studio
- Åpne test-app-mappen I Android Studio. Det representerer et gyldig Android-prosjekt, og du kan bygge og kjøre et testprogram som arbeider med Kjøretiden fra kilden.
Merk: Du må kanskje kjøre Android Studio fra kommandolinjen for å bevare miljøvariablene. Dette er hvis du får feil som «manglende npm» hvis du starter studioet på vanlig måte.
Hvordan Bygge
-
Kjør kommando
Windows:
gradlew
Mac / Linux:
./gradlew
-
byggeprosessen omfatter bygging av runtime pakken (både optimalisert og med uhindret v8 symbol tabell), samt alle tilleggsverktøy som brukes for android bygger: metadata-generator, binding-generator, metadata-generator, statisk-binding-generator
-
resultatet av byggingen vil være i dist-mappen.
Note:
for å kutte byggetiden i halv og pakke bare den optimaliserte (strippet) versjonen av runtime package-kommentaren ut ‘oppgaver.generateRuntimeAar.utfør ()’ i bygningen.gradle script.
Hvordan Kjøre Tester
-
Gå til undermappe test-app etter at du har bygget runtime.
-
Start en emulator eller koble til en enhet.
Note: Keep in mind the device or emulator needs to have an sdcard mounted.
-
Kjør kommando
gradlew runtest
Bidra
Vi elsker PRs! Sjekk ut de medvirkende retningslinjene. Hvis du vil bidra, men du er ikke sikker på hvor du skal begynne – se etter problemer merket help wanted
.
Diverse
- Implementere flere Chrome DevTools protokolldomener
Få Hjelp
Vennligst bruk github-problemer strengt for å rapportere feil eller be om funksjoner. For generelle spørsmål og støtte, sjekk Ut Stack Overflow eller spør våre eksperter I NativeScript community Slack channel.