共用方式為


側載應用程式映像套件以進行測試

重要

這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。

在開發期間,您可能需要將映像套件側載至 Azure Sphere 裝置以進行測試。 當您使用 Visual Studio 或 Visual Studio Code 集成開發環境 (IDE) 建置應用程式時,SDK 會為您封裝應用程式映像。 如果您有 Azure Sphere 裝置的直接存取權,SDK 也可以刪除未 標示為合作夥伴的現有應用程式、將新的映像套件載入裝置、啟動並啟用偵錯。 您也可以直接從命令行側載映像套件。

您必須先啟用 裝置的 appDevelopment 功能,並將裝置新增至 不支援雲端應用程式更新的裝置群組 。 將裝置指派給這類群組可確保雲端部署不會覆寫側載的應用程式。 若要準備您的裝置,請使用 azsphere device enable-development 命令。 然後,您可以側載映射。

從命令行側載和偵錯映像套件

若要從命令行側載映射套件,請刪除裝置上任何現有的應用程式,然後載入新的應用程式。

若要停止並移除裝置上的所有應用程式:

azsphere device sideload delete

若要刪除單一應用程式,請新增 --component-id 選項,如下所示:

azsphere device sideload delete --component-id <ComponentID>

接下來,側載新的映射套件:

azsphere device sideload deploy --image-package <imagepackagepath>

將 imagepackagepath 取代為映像套件的路徑。 如果您使用 Visual Studio 或 Visual Studio Code,您可以在應用程式專案資料夾的 bin\ARM\Debug 或 bin\ARM\Release 子資料夾中找到映像套件。 根據預設,命令會在部署應用程式之後啟動應用程式。

若要偵錯應用程式,請將 --manual-start 旗標新增至 azsphere device sideload deploy 命令以隱藏自動啟動,然後啟動應用程式進行偵錯:

azsphere device sideload deploy --manual-start --image-package <imagepackagepath>
azsphere device app start --debug --component-id <ComponentID>

這個指令會顯示高階應用程式的輸出和偵錯埠:

   Output Port: 2342
   GDB Port: 2345

將應用程式標示為合作夥伴

相關應用程式應標示為合作夥伴應用程式。 在許多情況下,您會載入多個應用程式,例如一對高層級和即時應用程式彼此通訊。 將應用程式標示為合作夥伴時,將無法刪除第二個應用程式。 當 Visual Studio 和 Visual Studio Code IDE 側載新的映像套件時,它們會刪除任何未標示為合作夥伴應用程式的現有應用程式。

若要在 Visual Studio 中使用 CMake 將應用程式標示為合作夥伴:

  1. 編輯應用程式的launch.vs.json檔案。

  2. 新增下列這一行:

    "partnerComponents": [ "<Component ID>" ]
    

    將夥伴應用程式的元件標識碼取代為 <Component ID> ,然後儲存盤案。 您可以在其app_manifest.json檔案中找到每個應用程式的元件標識符,或使用 azsphere device image list-installed azsphere device app show-status。

若要在 Visual Studio Code 中使用 CMake 將應用程式標示為合作夥伴:

  1. 編輯應用程式的 .vscode\launch.json 檔案。

  2. 新增下列這一行:

    "partnerComponents": [ "<Component ID>" ]
    

    將夥伴應用程式的元件標識碼取代為 <Component ID> ,然後儲存盤案。 您可以在其app_manifest.json檔案中找到每個應用程式的元件標識符,或使用 azsphere device image list-installed azsphere device app show-status。