NativeScript / android-runtime

Status

Obsahuje zdrojový kód pro NativeScript je Android Runtime. NativeScript je rámec, který umožňuje vývojářům psát skutečně nativní mobilní aplikace pro Android a iOS pomocí Javascriptu a CSS. Každá mobilní platforma má svůj vlastní ekosystém a nabízí zcela odlišné vývojové nástroje a jazyk(y) – Java pro Android a Objective C (Swift) pro iOS. Aby bylo možné přeložit kód JavaScript do odpovídajících nativních API, je zapotřebí nějaký mechanismus proxy. To je přesně to, co“ Runtime “ části NativeScript jsou zodpovědné za. Runtime Android lze považovat za“ most “ mezi světy JavaScript a Android. NativeScript aplikace pro Android je standardní nativní balíček (apk), který kromě souborů JavaScript vložit runtime stejně.

  • Hlavní Projekty
  • Pomocník Projekty
  • Architektura Diagram
  • Vytvořit Předpoklady
  • Jak se staví
  • Jak spustit testy
  • Různé
  • získání Nápovědy

Další docs

Několik Wiki stránky popisují některé vnitřní témata o běhu zde

Hlavní Projekty

repo je rozdělen do následujících projektů (řazeno podle závislostí):

  • android-metadata-generátor – generuje metadata nezbytná pro Android Runtime.
  • android-binding-generator-umožňuje Java & typy Android, které mají být dynamicky vytvořeny za běhu. Potřebné rutinou extend.
  • android-runtime-obsahuje základní logiku za NativeScript Android Runtime. Tento projekt obsahuje nativní C++ kód a potřebuje Android NDK stavět správně.
  • android-runtime-testapp-jedná se o vanilkovou aplikaci pro Android, která obsahuje testy pro runtime projekt.

pomocné projekty

  • android-static-binding-generator-build nástroj, který generuje vazby na základě kódu javascript uživatele.
  • project-template-jedná se o prázdný zástupný Android aplikace projekt, který používá NativeScript CLI při budování projektu Android.

schéma architektury

NativeScript Android Runtime architecture lze shrnout do následujícího diagramu.

 Android Runtime diagram

pro více informací o tom, jak to funguje, Přečtěte si dokumentaci.

vytvořit předpoklady

Níže jsou uvedeny minimální předpoklady pro sestavení runtime balíčku.

  • nainstalujte nejnovější Android Studio.
  • SDK Manager (Android Studio -> Nástroje -> Android> SDK Manager) namontujte následující součásti:
    • Android Úrovni API 23, 24, 25, 26, 27
    • Android NDK
    • Android Support Repository
    • ke Stažení Build Nástroje
    • CMake
    • LLDB
  • Klon tohoto repozitáře, stejně jako submoduly: git clone --recurse-submodules [email protected]:NativeScript/android-runtime.git

práce s Runtime v Android Studio

  • otevřete složku test-app v Android Studio. Představuje platný projekt Android a můžete vytvořit a spustit testovací aplikaci pracující s Runtime ze zdroje.

Poznámka: možná budete muset spustit Android Studio z příkazového řádku, abyste zachovali proměnné prostředí. To je v případě, že se při spuštění studia obvyklým způsobem objeví chyby jako „chybějící npm“.

jak se staví

  • spustit příkaz

    Windows:

    gradlew

    Mac/Linux:

    ./gradlew
  • build proces zahrnuje budovy runtime package (oba optimalizované a s unstripped v8 symbol table), stejně jako všechny doplňkové nástroje používané pro android vychází: metadata-generátor, vazba-generátor metadat-generátor, statické-závazné-generátor

  • Výsledkem stavět se bude v dist složce.

    Note: snížit čas sestavení na polovinu a balíček pouze optimalizované (zbavený) verze runtime balíček komentář mimo úkolů.generateRuntimeAar.execute ()‘ v sestavení.gradle script.

jak spustit testy

  • přejděte do podsložky test-app poté, co jste vytvořili runtime.

  • spusťte emulátor nebo připojte zařízení.

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

  • Spusťte příkaz

gradlew runtest

Přispět

milujeme Vas! Podívejte se na přispívající pokyny. Pokud chcete přispět, ale nejste si jisti, kde začít-podívejte se na problémy označené help wanted.

Různé

  • Prováděcí další Chrome DevTools protokol Domén

získání Nápovědy

Prosím, použijte github problémy výhradně pro hlášení chyby nebo žádosti o funkce. Pro obecné otázky a podporu, podívejte se na přetečení zásobníku nebo se zeptejte našich odborníků na NativeScript community Slack channel.