NativeScript / android-runtime

Build Status

conține codul sursă pentru Runtime Android NativeScript lui. NativeScript este un cadru care permite dezvoltatorilor să scrie aplicații mobile cu adevărat native pentru Android și iOS folosind JavaScript și CSS. Fiecare platformă mobilă are propriul ecosistem și oferă instrumente de dezvoltare și limbi complet diferite – Java pentru Android și Objective C(Swift) pentru iOS. Pentru a traduce codul JavaScript în API-urile native corespunzătoare, este necesar un fel de mecanism proxy. Acesta este exact ceea ce sunt responsabile părțile „Runtime” ale NativeScript. Runtime-ul Android poate fi considerat „podul” dintre lumea JavaScript și Android. O aplicație NativeScript pentru Android este un pachet nativ standard (apk) care, pe lângă fișierele JavaScript, încorporează și timpul de rulare.

  • proiecte principale
  • proiecte Helper
  • diagrama arhitectura
  • construi premise
  • cum de a construi
  • cum de a rula teste
  • diverse
  • obține ajutor

documente suplimentare

mai multe pagini Wiki descriu câteva subiecte interne despre timpul de rulare aici

proiecte principale

repo este structurat în următoarele proiecte (ordonate după dependențe):

  • android-metadate-generator-generează metadate necesare pentru Runtime Android.
  • Android-binding-generator – permite Java & tipuri de Android pentru a fi create dinamic în timpul rulării. Nevoie de rutina extend.
  • android-runtime – conține logica de bază din spatele Runtime Android NativeScript lui. Acest proiect conține cod nativ C++ și are nevoie de Android NDK pentru a construi în mod corespunzător.
  • android-runtime-testapp – aceasta este o aplicație Android vanilie, care conține testele pentru proiectul runtime.

Helper Projects

  • android-static-binding-generator – build instrument care generează legături bazate pe codul javascript al utilizatorului.
  • project-template – acesta este un proiect de aplicație Android substituent gol, utilizat de NativeScript CLI atunci când construirea unui proiect Android.

diagrama arhitecturii

arhitectura NativeScript Android Runtime poate fi rezumată în diagrama următoare.

Android Runtime diagram

pentru mai multe detalii despre cum funcționează, citiți documentația.

Build premise

următoarele sunt premisele minime pentru a construi pachetul runtime.

  • instalați cel mai recent studio Android.
  • din Managerul SDK (Android Studio – > Tools – > Android – > SDK Manager) instalați următoarele componente:
    • Android API Level 23, 24, 25, 26, 27
    • Android NDK
    • Android Suport Repository
    • descărcare construi instrumente
    • CMake
    • LLDB
  • clonați acest depozit, precum și submodulele: git clone --recurse-submodules [email protected]:NativeScript/android-runtime.git

lucrul cu timpul de rulare în Android Studio

  • Deschideți folderul test-app în Android Studio. Acesta reprezintă un proiect Android valid și sunteți în stare să construiască și să ruleze o aplicație de testare de lucru cu Runtime de la sursa.

notă: poate fi necesar să rulați Android Studio din linia de comandă pentru a păstra variabilele de mediu. Acest lucru se întâmplă în cazul în care primiți erori precum „lipsește npm” dacă porniți studioul în mod obișnuit.

Cum de a construi

  • rulați comanda

    Windows:

    gradlew

    Mac / Linux:

    ./gradlew
  • procesul de construire include construirea pachetului runtime (atât optimizat, cât și cu tabelul de simboluri V8 neîncărcat), precum și toate instrumentele suplimentare utilizate pentru versiunile android: generator de metadate, generator de legare, generator de metadate, generator de legare statică

  • rezultatul construirii va fi în folderul dist.

    Note: pentru a reduce timpul de construire la jumătate și a împacheta doar versiunea optimizată (dezbrăcată) a pachetului runtime comment out ‘tasks.generateRuntimeAar.executa () ‘ în construi.script gradle.

cum să rulați testele

  • du-te la subfolder test-app după ce a construit runtime.

  • porniți un emulator sau conectați un dispozitiv.

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

  • rulați comanda

gradlew runtest

contribuie

ne place PRs! Consultați liniile directoare care contribuie. Dacă doriți să contribuiți, dar nu sunteți sigur de unde să începeți – căutați probleme etichetate help wanted.

diverse

  • implementarea domeniilor suplimentare de protocol Chrome DevTools

Obțineți ajutor

vă rugăm, utilizați problemele GitHub strict pentru raportarea erorilor sau solicitarea funcțiilor. Pentru întrebări generale și asistență, consultați Stack Overflow sau întrebați experții noștri din NativeScript community Slack channel.