NativeScript/android-runtime

ビルドステータス

NativeScriptのAndroidランタイムのソースコードが含まれています。 NativeScriptは、開発者がJavaScriptとCSSを使用してAndroidとiOS用の真のネイティブモバイルアプリケーションを書くことを可能にするフレームワークです。 各モバイルプラットフォームには独自のエコシステムがあり、Android用のJavaとiOS用のObjective C(Swift)という完全に異なる開発ツールと言語を提供しています。 JavaScriptコードを対応するネイティブApiに変換するには、何らかのプロキシメカニズムが必要です。 これはまさにNativeScriptの”ランタイム”部分が担当しているものです。 Androidランタイムは、JavaScriptとAndroidの世界の間の”橋”と考えることができます。 Android用のNativeScriptアプリケーションは、JavaScriptファイルのほかにランタイムも埋め込む標準のネイティブパッケージ(apk)です。

  • メインプロジェクト
  • ヘルパープロジェクト
  • アーキテクチャ図
  • ビルドの前提条件
  • ビルド方法
  • テストの実行方法
  • その他
  • ヘルプの取得

追加ドキュメント

いくつかのWikiページでは、ランタイムに関するいくつかの内部トピックについて説明しています

メインプロジェクト

レポ):

  • android-metadata-generator-Androidランタイムに必要なメタデータを生成します。
  • android-binding-generator-実行時にJava&Android型を動的に作成できるようにします。 extendルーチンによって必要とされる。
  • android-runtime-NativeScriptのAndroidランタイムの背後にあるコアロジックが含まれています。 このプロジェクトにはネイティブC++コードが含まれており、適切にビルドするにはAndroid NDKが必要です。
  • android-runtime-testapp-これはランタイムプロジェクトのテストを含むバニラのAndroidアプリケーションです。

ヘルパープロジェクト

  • android-static-binding-generator-ユーザーのjavascriptコードに基づいてバインディングを生成するビルドツール。
  • project-template-これは空のプレースホルダAndroidアプリケーションプロジェクトで、AndroidプロジェクトをビルドするときにNativeScript CLIで使用されます。

アーキテクチャ図

NativeScript Androidランタイムアーキテクチャを次の図にまとめることができます。

Androidランタイムダイアグラム

それがどのように動作するかの詳細については、ドキュメントをお読みください。

ビルドの前提条件

ランタイムパッケージをビルドするための最小限の前提条件は次のとおりです。

  • 最新のAndroid Studioをインストールします。SDKマネージャから(Android Studio->ツール->Android->SDKマネージャ)次のコンポーネントをインストールします。
    • Android APIレベル23, 24, 25, 26, 27
    • Android NDK
    • Androidサポートリポジトリ
    • ビルドツールのダウンロード
    • CMake
    • LLDB
  • このリポジトリとサブモジュールのクローンを作成します: git clone --recurse-submodules [email protected]:NativeScript/android-runtime.git

Android Studioでランタイムを操作する

  • Android Studioでtest-appフォルダーを開きます。 これは有効なAndroidプロジェクトを表し、ソースからランタイムで動作するテストアプリケーションを構築して実行することができます。注:環境変数を保持するには、コマンドラインからAndroid Studioを実行する必要がある場合があります。 これは、スタジオを通常の方法で起動すると、”missing npm”のようなエラーが発生する場合に備えています。

    • コマンドの実行

      Windows:

      gradlew

      マック/リナックス:

      ./gradlew
    • ビルドプロセスには、ランタイムパッケージ(最適化されていないv8シンボルテーブルの両方)のビルドと、androidビルドに使用されるすべての補足ツール(metadata-generator、binding-generator、metadata-generator、static-binding-generator)が含まれている。

    • ビルドの結果はdistフォルダにあります。

      Note:ビルド時間を半分に短縮し、ランタイムパッケージの最適化された(削除された)バージョンのみをパッケージ化するには、’tasksをコメントアウトします。ジェネレータランティメアール。ビルドでexecute()’。gradleスクリプト。

    テストの実行方法

    • ランタイムをビルドした後、サブフォルダtest-appに移動します。

    • エミュレータを起動するか、デバイスを接続します。

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

    • コマンドの実行

    gradlew runtest

    Contribute

    私たちはPRsが大好きです! 投稿ガイドラインをチェックしてください。 貢献したいが、どこから始めればよいかわからない場合は、help wantedというラベルの付いた問題を探します。

    Misc

    • 追加のChrome DevToolsプロトコルドメインの実装

    ヘルプを取得

    バグの報告や機能の要求には、githubの問題を厳密に使用してください。 一般的な質問やサポートについては、Stack Overflowをチェックするか、NativeScriptコミュニティSlackチャンネルの専門家にお問い合わせください。