Kanzi 4.1.1 移行ガイド¶
このマイグレーションガイドを使用して、Kanzi アプリケーションを Kanzi 4.1.0 から Kanzi 4.1.1 に更新してください。
kzbファイル形式のバージョンの変更¶
kzbファイル形式のバージョンが45.0から45.1に変わります。このバージョンの Kanzi Studio でプロジェクトを再度エクスポートしてください。Kanzi は想定するフォーマットバージョンと完全に一致するものしか読み込まないため、以前のバージョンでエクスポートしたkzbファイルは読み込まれません。
Kanzi Studio は参照先プロジェクトを別のプロジェクトのディレクトリの外へ移動します¶
Kanzi Studio 4.1.1 でプロジェクトを開くと、Kanzi Studio はプロジェクトリファレンスを通じてたどれるすべてのプロジェクトを調べ、別のプロジェクトのディレクトリ内に保存されているプロジェクトを兄弟ディレクトリへ移動します。これはディスク上のディレクトリレイアウトに対する一度限りの変更であり、プロジェクトを初めて開いたときに行われ、元に戻すことはできません。ディレクトリの移動を許可しない限り、Kanzi Studio はプロジェクトを開きません。例外は、プロジェクトが自身の参照先プロジェクトのディレクトリ内に保存されている場合です。この場合 Kanzi Studio はどちらも移動できないため、その入れ子構造をそのまま残し、ログに警告を書き込みます。それ以外に見つかった入れ子のプロジェクトはすべて移動します。
たとえば、Kanzi Studio は次のレイアウトを
MyApplication/
Tool_project/
MyApplication.proj.kzm
SharedAssets/
SharedAssets.proj.kzm
次のように変更します。
MyApplication/
Tool_project/
MyApplication.proj.kzm
SharedAssets/
SharedAssets.proj.kzm
Kanzi Studio は自身が管理するパスを更新します。対象は、プロジェクトリファレンスとkzbリファレンス、Kanzi Engine プラグインのパス、Binary Export Directory、Application Export Directory、Preview Working Directory の各設定、ビルド構成の Application Root Directory と APK Path の設定、および Kanzi Studio プラグインが追加するパスプロパティです。
ただし、次の2つは更新しません。
値が
<ProjectDirectory>などのマクロである設定。これは、その設定がどのマシンでも解決され続けるようにするためです。そのような設定が移動したディレクトリ内を指していた場合は、自分で更新してください。未保存の変更があるプロジェクト。Kanzi Studio は、ユーザーの変更を勝手に保存しないように、そのようなプロジェクトのパスを保存せずに更新し、Log ウィンドウにメモを書き込みます。更新されたパスを保持するには、そのプロジェクトを保存してください。
移動したプロジェクトのアプリケーションコードは変更する必要はありません。Kanzi Studio はプロジェクトディレクトリ全体を1つの単位として移動するため、CMake や Gradle の構成内のパスなど、ディレクトリ内のパスは引き続き解決されます。Kanzi Studio は Visual Studio のソリューションファイルとプロジェクトファイルには手を加えず、CMake がそれらを新しいパスで再生成します。
影響を受けるのは、移動したプロジェクトの外部からその内部を指すパスです。ディレクトリの深さが変わったためです。移動後は、次のものを更新してください。
ビルドスクリプトとビルド前イベント。たとえば、あるプロジェクトから別のプロジェクトへアプリケーションバイナリをコピーする
xcopyコマンドなどです。これらはディレクトリの階層数を数えるため、入れ子のレイアウト向けに書かれたコマンドでは..の段数を変える必要があります。Kanzi Studio ソリューション構造 のコマンドは、すでに Kanzi Studio が強制するレイアウトを前提としています。継続的インテグレーションの構成。
.gitignoreおよびお使いのバージョンコントロールシステムでそれに相当するもの、ならびにそこに記述されているパス。プロジェクトの Binary Export Directory が移動したディレクトリ内を指していた場合に、エクスポートされたkzbファイルを読み込むもの。Kanzi Studio は設定自体を更新するため、kzbファイルは新しい場所に出力されるようになります。
影響を受けるプロジェクトを開く前に、そのプロジェクトファイルと、そのプロジェクトが参照するすべてのプロジェクトのプロジェクトファイルをバージョンコントロールからチェックアウトしてください。Kanzi Studio はパスを更新した各プロジェクトを保存するため、読み取り専用のプロジェクトファイルが見つかるとプロジェクトを開く操作をキャンセルします。また、それらのプロジェクトのいずれかが別の Kanzi Studio インスタンスで開かれている場合も、開く操作をキャンセルします。
たどったプロジェクトがまだkzproj形式の場合、Kanzi Studio は保存する前にkzm形式への変換を求めます。変換すると元のkzprojファイルは削除されます。
KanziStudio.exe /Script で実行するコマンドスクリプトは、確認なしでディレクトリを移動します。確認には対話型の Kanzi Studio が必要なためです。スクリプトが LoadProject コマンドで影響を受けるプロジェクトを開く場合は、事前にそのプロジェクトを Kanzi Studio で一度開き、確認できる状態で移動が行われるようにしてください。Kanzi Studio タスクの自動化 を参照してください。
移動を避けるには、参照先プロジェクトを、それを参照するプロジェクトのディレクトリ内ではなく、その横に保存してください。Kanzi Studio 4.1.1 では、別のプロジェクトのディレクトリ内に保存されているプロジェクトをリファレンスとして追加できなくなりました。参照先プロジェクトの保存場所 を参照してください。
プロジェクトテンプレートは KANZI_LINK_KZLUA が設定されている場合にのみ Lua プラグインをリンクします¶
プロジェクトテンプレートは、他のオプションの Kanzi Engine プラグインと同様に、kzlua プラグインのリンクを KANZI_LINK_KZLUA CMake オプションで制御するようになりました。以前は、Android アプリケーションテンプレートと Android サービスアプリケーションテンプレートは Kanzi::kzlua を無条件にリンクしていました。
プロジェクトの Application/CMakeLists.txt をテンプレートから更新する場合は、-DKANZI_LINK_KZLUA=ON を設定する Application/configs/platforms/android_gradle/kanzinative/build.gradle も更新してください。SDK ワークフローでは、このオプションがないと APK に libkzlua.so が含まれなくなり、Kanzi は Lua を使用するkzbファイルの読み込みに失敗します。Package Manager ワークフローは、engine-libraries パッケージでプラグインが提供されるため影響を受けません。Lua プラグインのデプロイ を参照してください。