NativeScript / android-runtime
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.
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.