【Egret】Nativeプロジェクト熱更新
http://docs.egret-labs.org/post/tools/native/hot-upgrade.html
概要
Egretのパッケージ項目はAndroidでもiOSでも熱更新に対応しています.ここでは主にAndroidプラットフォームを例にとって説明しますが、iOSプラットフォームはそれぞれの構成とiOSエントリクラスコードの中で異なる変更構成だけが必要です.
基本設定まず、私達は先にegretProperties.jsonにおけるnativeの関連配置データについて説明します. 図1 Egret項目設定ファイルにおける熱更新に関するフィールド 図1のAndroidは、egretコマンドを使用して作成されたAndroidプロジェクト(proj.android、thirdpartyを含む)であり、単なるフォルダではない.図のように:
Native更新メカニズム原理
Androidの入口コードには、Androidがファイルを読み込む方法を提供する
1、空の文字列.つまり、現在のカバンは一番オリジナルのフォーマットを使用します.
2、「ガメコード.zip」.publishの後、最新の資源パッケージをAndroidプロジェクトにコピーします.この場合、Android項目でテストが必要であれば、戻り値を対応するgamecode.zipの名前に変更する必要があり、図中のように返すべき文字列は「gamecode 1418351650.zip」である.
3、は、 は、 実行後、H 5プロジェクトのrelease/androidに現在リリースされているバージョンデータが生成されます.図中のフォルダ1418351650は最新バージョンであり、フォルダ内のリソースは更新が必要なリソースであり、このフォルダ1418351650をサーバにアップロードすればいい. は、サーバ構成のgamecode.zipパケットの最新アドレス(絶対アドレス、および「http:/」ヘッダを含む)を変更する.http://www.example.com/gamecode_1418351650.zip「です カスタムページ読み込みは更新されていますので、必ず関連するローディング進捗表示を更新する必要があります.native_loader.jsでは、簡単な読み込み進捗コードが提供されます.egret_native.init LoadingUI()は、ロードページを初期化する.egret_native.set Prograss()は、ロードの進捗を修正します.egret_native.loadErr()リソース更新エラー.egret_native.removeUI()は、ロードページを削除します. 熱更新はエンジンコードのロード後に実行されるので、エンジンのクラスおよび方法(例えば、egrett.Bitmap、egret.TextField)を使用することができる.
jsファイルですので、エラー宣言などの種類がないようにしてください.
注意事項.nativeパッケージに熱的なアップデートが必要であれば、get LoaderUrl()方法で戻ってきたサーバのzipパケットアドレスは書き込みできません. nativeプロジェクトはH 5工程内で作成しないでください.
概要
Egretのパッケージ項目はAndroidでもiOSでも熱更新に対応しています.ここでは主にAndroidプラットフォームを例にとって説明しますが、iOSプラットフォームはそれぞれの構成とiOSエントリクラスコードの中で異なる変更構成だけが必要です.
基本設定
release
フィールド:これはプロジェクトリリースディレクトリであり、特定のリリースディレクトリを指定する必要があれば、このパス値(現在のディレクトリに対するパス)を変更します.指定しない(またはこのフィールドがない、デフォルトは空です)とH 5アイテムのreleaseフォルダに投稿されます.native
フィールドの下で、path_ignore
フィールド:リストを無視する、すなわち、nativeパケット内に出現するファイル(フォルダ)を望まない、無視リストの中のファイル(クリップ)はH 5プロジェクトディレクトリ内であり、現在のディレクトリに対する相対パスでなければならない.図1の["release"]
は、現在のH 5ディレクトリの下のフォルダである.native
フィールドでは、android_path
フィールド:android_path
は、Androidプロジェクトが現在のフォルダに対して相対的なパスであり、Androidがない場合、対応するandroid_path
は存在しないか、または空の文字列である.Native更新メカニズム原理
Androidの入口コードには、Androidがファイルを読み込む方法を提供する
getLoaderUrl
がある.1、空の文字列.つまり、現在のカバンは一番オリジナルのフォーマットを使用します.
egret b -e --runtime native
の後のデータ構造.2、「ガメコード.zip」.publishの後、最新の資源パッケージをAndroidプロジェクトにコピーします.この場合、Android項目でテストが必要であれば、戻り値を対応するgamecode.zipの名前に変更する必要があり、図中のように返すべき文字列は「gamecode 1418351650.zip」である.
3、
http://www.example.com/game_code.zip
(サーバ方式であり、絶対アドレスであり、「http:/」ヘッダを含む).この方式を用いるだけで熱更新機構がある.エンジンは、提供されたgamecode.zipの名称(例えば「gamecode 1418351650.zip」ではなく、パスを「http://www.example.com/1111/gamecode.zipに変更するhttp://www.example.com/2222/game_code.zipダウンロードが必要かどうかを判断します.したがって、更新が必要な場合は、返したzipパッケージのファイル名はバージョンごとに異なるはずです.この需要を達成するために、2つの参考案を以下に提供する.a) java , zip 。
b) , zip 。
バージョンリリース手順egret b -e --runtime native
を実行し、nativeプロジェクトをコンパイルする.egret publish --runtime native -compile
を実行し、最新の更新可能なリソースパケットを発行する.jsファイルですので、エラー宣言などの種類がないようにしてください.
注意事項