Xamarin安裝及調試


Xamarin介紹

Xamarin是一個跨平台的開發框架(工具集),創始於2011年,旨在使移動開發變得難以置信地迅捷和簡單,它是跨平台的,它允許開發人員有效創建可跨 iOS、Android、Windows 應用程序的開發工具集。

Xamarin於2016年2月被微軟收購。現在是免費開源的,遵循 MIT (麻省理工學院許可證)協議。在github上的地址為:https://github.com/xamarin 。官方網站為:http://xamarin.com 

簡單的來說,Xamarin 使我們可以使用 C#,F#,VB.NET 等語言開發原生 iOS、Android、Windows 應用程序

可以看下:快速開發跨平台應用之Xamarin技術

以下操作基於Win10最新操作系統,VS2019最新企業版。

Xamarin安裝

Xamarin 可安裝為新 Visual Studio 2017(或者2019) 安裝的一部分,【現在,所有版本的 Visual Studio 中都免費附帶 Xamarin,並且不需要單獨的許可證】具體通過以下步驟操作:

  1. 從 Visual Studio 頁面下載 Visual Studio 2017 Community、Visual Studio Professional 或 Visual Studio Enterprise(底部有下載鏈接)。

  2. 雙擊下載的程序包以開始安裝。

  3. 從安裝屏幕中選擇“使用 .NET 的移動開發”工作負載:

    工作負載屏幕上具有 .NET 選擇的移動開發

  4. 選擇“使用 .NET 的移動開發”時,查看右側的“安裝詳細信息”面板。 可在此處取消選擇不希望安裝的移動開發選項。

    列出要安裝的 Xamarin 選項的“安裝詳細信息”面板

  5. Visual Studio 2017 安裝准備就緒后,單擊右下角的“安裝”按鈕:

    “安裝”按鈕

    安裝過程可能需要很長時間才能完成,具體取決於要安裝的 Visual Studio 2017 版本。 可使用進度欄監視安裝過程:

    安裝過程中的進度欄

  6. Visual Studio 2017 安裝完成后,單擊“啟動”按鈕以啟動 Visual Studio:

    啟動按鈕的位置

在 Visual Studio 2019 中安裝 Xamarin,可開始為你的應用,編寫代碼,但用於構建和您的應用程序部署到模擬器、 仿真器和設備,則需要其他設置。 請訪問以下,完成安裝並開始跨平台應用構建。

iOS

有關詳細信息,請參閱在 Windows 上安裝 Xamarin.iOS 指南。

  1. 安裝 Visual Studio for Mac
  2. 將 Visual Studio 連接到 Mac 生成主機
  3. iOS 開發人員設置 - 要求在設備上運行應用程序
  4. 遠程 iOS 模擬器
  5. Xamarin.iOS for Visual Studio 簡介

Android

有關詳細信息,請參閱在 Windows 上安裝 Xamarin.Android 指南。

  1. Xamarin.Android 配置
  2. 使用 Xamarin Android SDK 管理器
  3. Android SDK 仿真器
  4. 設置設備進行開發

 

安裝Xamarin.Android

配置

Xamarin.Android 使用 Java 開發工具包 (JDK) 和 Android SDK 生成應用。 在安裝過程中,Visual Studio 安裝程序會將這些工具放置在其默認位置,並使用適當的路徑配置來配置開發環境。 可單擊“工具”>“選項”>“Xamarin”>“Android 設置”查看和更改這些位置 :

對於大多數用戶,默認位置會起作用,無需進行進一步更改。 但是,你可能希望將 Visual Studio 配置為這些工具的自定義位置(例如,如果你已在其他位置安裝了 Java JDK、Android SDK 或 NDK)。 單擊要更改的路徑旁邊的“更改”,然后導航到新位置 。

Xamarin.Android 使用JDK 8,這是在為 API 級別 24 或更高級別進行開發時所必需的(JDK 8 還支持低於 24 的 API 級別)。 如果專門為 API 級別 23 或更低級別進行開發,可以繼續使用 JDK 7

注意:Xamarin.Android 不支持 JDK 9

Android SDK 管理器

Android 使用多個 Android API 級別(編譯時 還是運行時使用)設置來確定應用在各種版本的 Android 中的兼容性。 根據要面向的 Android API 級別,可能需要下載和安裝其他 Android SDK 組件。 此外,可能需要安裝 Android SDK 中提供的可選工具和仿真器映像。 為此,請使用 Android SDK 管理器 。 可單擊“工具”>“Android”>“Android SDK 管理器”,啟動“Android SDK管理器” :

默認情況下,Visual Studio 會安裝 Google Android SDK 管理器:

  • “工具”選項卡

“工具”選項卡顯示“工具”和“附加程序”的列表 。 使用此選項卡以安裝 Android SDK 工具、平台工具和生成工具。 此外,還可以安裝 Android Emulator、低級別調試器 (LLDB)、NDK、HAXM 加速和 Google Play 庫。

例如,若要下載 Google Android Emulator 包,請單擊“Android Emulator”旁的復選標記,然后單擊“應用更改”按鈕

  • “平台”選項卡

“平台”選項卡顯示平台 SDK 版本以及適用於每個平台的其他資源(例如系統映像)的列表 :

 

有關使用 Xamarin Android SDK 管理器的詳細信息,請參閱 Android SDK 安裝

Android 仿真器

Android Emulator 工具可有效地開發和測試 Xamarin.Android 應用。 例如,平板電腦等物理設備在部署時可能不可用,或開發人員可能想在提交代碼前在計算機上運行某些集成測試。

在計算機上模擬 Android 設備包括以下部分:

  • Google Android Emulator – 它是基於 QEMU 的仿真器,用於創建在開發人員的工作站上運行的虛擬化設備。
  • 仿真器映像 – 仿真器映像是旨在進行虛擬化的硬件和操作系統的模板或規范 。 例如,一個仿真器映像可以確定運行安裝 Google Play Services 的 Android 7.0 的 Nexus 5X 的硬件要求。 另一個仿真器映像可以指定運行 Android 6.0 的 10 英寸平板電腦。
  • Android 虛擬設備 (AVD) – Android 虛擬設備是從仿真器映像創建的 Android 仿真設備 。 運行和測試 Android 應用時,Xamarin.Android 將啟動 Android Emulator,啟動特定 AVD,安裝 APK,然后運行應用。

在基於 x86 的計算機上進行開發時,可以通過使用針對 x86 體系結構進行優化的特殊仿真器映像以及以下兩項虛擬化技術之一顯著提高性能:

  1. Microsoft Hyper-V – 可用於運行 Windows 10 的 2018 年 4 月更新或更高版本的計算機。
  2. Intel 硬件加速執行管理器 (HAXM) – 可用於運行 OS X、macOS 或較舊 Windows 版本的 x86 計算機。

Android 設備

如果有用於測試的 Android 物理設備,現在可設置設備用於開發。 通過查看設置設備進行開發配置 Android 設備進行開發,然后將其連接到計算機以運行和調試 Xamarin.Android 應用程序。

 

生成第一個 Xamarin.Forms 應用

1、選擇 "文件 > 新建 > 項目 ... " 或按 "創建新項目 ... " 按鈕:

2、搜索 "Xamarin" 或從 "項目類型" 菜單中選擇 "移動"。 選擇 "移動應用 (Xamarin) " 項目類型:

3、選擇該示例使用– "AwesomeApp" 的項目名稱:

4、單擊 "空" 項目類型, 並確保已選擇 " Android和iOS ":

5、等到 NuGet 包還原(狀態欄中將出現“還原已完成”消息)。

在 Android 模擬器上進行調試

6、新的 Visual Studio 2019 安裝不會配置 Android 模擬器。 單擊 "調試" 按鈕上的下拉箭頭, 然后選擇 "創建 Android Emulator以啟動模擬器創建屏幕:

創建 Android Emulator 下拉列表

7、在模擬器創建屏幕中, 使用默認設置, 然后單擊 "創建" 按鈕: 【如果處理器這里不能選擇的話,應該是上面Android SDK 管理器 里沒有安裝平台】

Android 模擬器創建屏幕

8、創建模擬器后, 將返回到 "設備管理器" 窗口。 單擊 "啟動" 按鈕以啟動新的模擬器:

設備管理器中的 Android 模擬器

9、Visual Studio 2019 現在應在 "調試" 按鈕上顯示新模擬器的名稱:

調試按鈕上的 Android 模擬器名稱

10、單擊 "調試" 按鈕以生成應用程序並將其部署到 Android 模擬器:

可能報錯:

說明需要通過硬件加速提高仿真器性能 (Hyper-V 或者 HAXM),這里采用安裝HAXM來加速,因為Hyper-V跟虛擬機會有沖突。

安裝完HAXM后,再次編譯運行。

顯示應用程序的 Android 仿真程序

修改默認程序

1、編輯 MainPage.xaml,在 </StackLayout> 結束之前添加此 XAML:

<Button Text="Click Me" Clicked="Button_Clicked" />

2、編輯 MainPage.xaml.cs,將此代碼添加到類的末尾:

int count = 0;

void Button_Clicked(object sender, System.EventArgs e)

{ count++; ((Button)sender).Text = $"You clicked {count} times."; }

3、調試 Android 上的應用:

Android 應用

 

在物理設備(真機)上進行調試

在物理 Android 設備上調試 Xamarin.Android 應用程序

參考:設置設備進行開發

手機開啟開發者模式,然后用usb連上PC機,在vs中就能看到了,

 

安裝 Xamarin.iOS

設置適用於 Xamarin.iOS 開發的 Windows 計算機和 Mac 生成主機。

要完成相關設置以在 Visual Studio 2019 中進行 Xamarin.iOS 開發,需執行以下步驟:

1、設置 Windows(安裝 Visual Studio 2019)

Xamarin.iOS 適用於獨立或虛擬計算機上的 Visual Studio 2019 社區版、專業版和企業版。

2、設置 Mac(安裝 Xcode 和 Visual Studio for Mac)

可以在Win10上安裝虛擬機上安裝Mac系統。

要生成、調試 iOS 應用程序以及對其進行簽名以進行分發,Visual Studio 2017 必須能夠通過網絡訪問通過 Apple 開發人員工具 (Xcode) 和 Xamarin.iOS 配置的 Mac 生成主機。

3、與 Mac 配對(將 Visual Studio 2019 連接到 Mac)

為了使 Visual Studio 2019 能夠在 Mac 上使用 iOS 生成工具,兩台計算機必須通過網絡連接。

配置可能的錯誤

重新連接,重新輸入mac的登錄用戶名和密碼(必須確保是正確的才能配對成功)

在IOS模擬器上進行調試

需要與Mac機器配對。

未配對:

配對成功:

在直接運行就可以。

如果已成功配對 Mac 生成主機,則可以在 Visual Studio 2019 中生成 Xamarin.iOS 應用。 查看 Xamarin.iOS for Visual Studio 簡介指南。

Xamarin.iOS for Visual Studio 簡介

借助 Xamarin for Windows,iOS 應用程序可在 Visual Studio 中進行編寫和測試,並且由聯網的 Mac 提供生成和部署服務。

iOS 工具欄

在 Visual Studio 2019 或 Visual Studio 2017 中打開 iOS 項目時,應會顯示 iOS 工具欄。 默認情況下,它包含可用於 Xamarin.iOS 開發的四個按鈕:

Visual Studio 2019 的 iOS 工具欄

  • 與 Mac 配對 – 打開“與 Mac 配對”對話框。 在 Visual Studio 2019 或 Visual Studio 2017 中打開 iOS 項目時,啟用該按鈕。
  • 顯示 iOS 模擬器 - 在 Mac 生成主機上,將 iOS 模擬器放在最前面。 在 Visual Studio 2019 或 Visual Studio 2017 中打開 iOS 項目時,啟用該按鈕。
  • 設備日志 – 打開一個可用於檢查設備日志的窗口。 在 Visual Studio 2019 或 Visual Studio 2017 中打開 iOS 項目時,啟用該按鈕。
  • 在生成服務器上顯示 IPA 文件 – 在 Mac 生成主機上打開一個窗口,顯示應用的 .ipa 文件的位置。 完成為其創建 .ipa 的生成后,啟用該按鈕。

在物理設備(真機)上進行調試

1、針對 Xamarin.iOS 的設備預配

開發 Xamarin.iOS 應用程序時,除了將應用部署到模擬器,還必須將其部署到物理設備進行測試。 通過在設備上運行,可以暴露出由於硬件限制(如內存或網絡連接)而產生的硬件 Bug 和性能問題。 若要在物理設備上測試,必須預配設備,並且就設備測試事件通知 Apple。

將應用程序部署到設備之前,需要具有 Apple 開發者計划的活動訂閱或 使用免費設置。 Apple 提供兩種計划選項

若要注冊其中的任何計划,請訪問 Apple 開發者門戶進行注冊。 注意,若要注冊為 Apple 開發者,需要具有 Apple ID。 

或者,Apple 在 Xcode 7 中引入了免費預配功能,可在單台設備上運行單個應用程序,而無需成為 Apple Developer Program 成員。 通過這種方式設置有多種限制,詳細信息如此處所述。

即有兩種預配選擇:注冊成為apple開發者、免費預配不用注冊】 

說明:

設備上運行的應用程序均需要包含一組元數據(或指紋),其中內附應用程序和開發者信息。 Apple 使用該指紋來確保應用程序部署到用戶設備或在用戶設備上運行時不會被篡改。 由此需要應用開發者將其 Apple ID 注冊為開發者、設置應用 ID、請求證書,並注冊要部署應用程序的設備。

在設備上部署應用程序時,也會在 iOS 設備上安裝設置配置文件。 設置配置文件用於驗證生成時應用簽名所用的信息以及由 Apple 通過密碼簽名的信息。 通過檢查以下項,設置配置文件和指紋檢查一起決定是否能將應用程序部署到設備:

  • 對象(證書 – 如果應用通過私鑰進行簽名,則哪個對象在配置文件中具有相應公鑰? 證書還關聯開發者與開發團隊)
  • 事件(單個應用 ID – Info.plist 中設置的捆綁標識符是否匹配配置文件中的應用 ID?)
  • 位置(設備 – 配置文件中是否包含設備?)

這些步驟用於確保開發過程中創建的或使用的所有內容(包括應用程序和設備)均可追溯到 Apple Developer 帳戶。

2、預配 iOS 設備有兩種方法

  • 自動(推薦) - 選擇項目中的“自動預配”方案,讓 Visual Studio 自動創建和管理簽名標識、應用 ID 和預配配置文件 。 有關如何自動管理預配的信息,請參閱自動預配指南。 這是預配 iOS 設備的推薦方法。

  • 手動 – 可以通過 Apple 開發人員門戶創建和管理簽名標識、應用 ID 和預配配置文件,如手動預配指南中所述。 然后對這些項目進行管理,如 Apple 帳戶管理指南中所述。

自動預配允許 Visual Studio for Mac 或 Visual Studio 2019 自動設置設備進行開發者測試。 但是,自動預配與免費預配不兼容。 若要使用自動預配,必須具有付費 Apple 開發者計划帳戶 

Xamarin 的 Apple 帳戶管理工具僅顯示有關付費 Apple 開發人員帳戶的信息。 若要了解如何在沒有付費 Apple 開發人員帳戶的設備上測試應用,請參閱適用於 Xamarin 應用的免費預配指南

手動預配與付費訪問 Apple 開發者計划的開發人員相關。 如果你有一個免費帳戶,請參閱免費預配指南,詳細了解基於設備的測試。 

3、Xamarin.iOS 應用的免費預配

免費預配允許 Xamarin.iOS 開發人員將應用部署到 iOS 設備並對其進行測試,無需成為 Apple 開發者計划的一員 。 如果模擬測試有用並且方便實施,請在 iOS 物理設備上測試應用以驗證它們在實際內存、存儲和網絡連接受到約束的情況下正常運行,這一點也至關重要。

使用免費預配將應用部署到設備:

  • 使用 Xcode 創建必需的簽名標識 (開發人員證書和私鑰)並預配配置文件 (包含顯式應用 ID 和已連接的 iOS 設備的 UDID)。
  • 使用在 Visual Studio for Mac 或 Visual Studio 2019 中通過 Xcode 創建的簽名標識和預配配置文件部署 Xamarin.iOS 應用程序。

要求

使用免費預配將 Xamarin.iOS 應用程序部署到設備:

  • 正在使用的 Apple ID 不得連接 Apple 開發者計划。
  • Xamarin.iOS 應用必須使用顯式應用 ID,而不是通配符應用 ID。
  • Xamarin.iOS 應用中使用的捆綁包標識符必須唯一,且不能曾在其他應用中使用過。 使用免費預配的任何捆綁包標識符都不能再次使用 。【若不同的應用 共用了一個標識符,則在手機上只能有一個應用存在,后一個app安裝會覆蓋前一個已經存在的
  • 如果已分配某應用,將無法通過免費預配對該應用進行部署。
  • 如果應用使用應用程序服務,則需要創建配置文件,如設備預配指南中詳述。

4、使用 Xcode 創建簽名標識和預配配置文件

  1. 如果沒有 Apple ID,請創建一個

  2. 打開 Xcode 並瀏覽到“Xcode”>“首選項” 。

  3. 在“帳戶” 下,使用 + 按鈕添加現有 Apple ID。 它應類似於下面的屏幕截圖:

    Xcode 首選項 - 帳戶

  4. 關閉 Xcode 首選項

  5. 插入要在其中部署應用的 iOS 設備。

  6. 在 Xcode 中創建新項目。 選擇“文件”>“新建”>“項目” ,然后選擇“單一視圖應用” 。

  7. 在新項目對話框中,將“團隊” 設置為剛添加的 Apple ID。 在下拉列表中,該內容類似於你的姓名(個人團隊) :

    創建新的應用

  8. 創建新項目后,選擇以 iOS 設備(而不是模擬器)為目標的 Xcode 生成方案。

    選擇 Xcode 生成方案

  9. 在 Xcode 的項目導航器中,選擇應用的頂級節點,打開應用的項目設置 。

  10. 在“常規”>“標識”下,確保捆綁包標識符完全匹配 Xamarin.iOS 應用的捆綁包標識符 。【需要額外注意Bundle Identifier的值,在接下來的操作中還會用到

    設置捆綁包標識符

Xcode 將僅為顯式應用 ID 創建預配配置文件,並且它必須與 Xamarin.iOS 應用的應用 ID 完全相同。 如果不同,將無法使用免費預配部署 Xamarin.iOS 應用。

11.在“部署信息” 下,確保部署目標與已連接的 iOS 設備上安裝的 iOS 版本相同或低於該版本。

12.在“簽名”下, 選擇“自動管理簽名”,並從下拉列表中選擇團隊:

13.若要在 Xcode 中測試,通過單擊運行按鈕將空應用程序部署到設備注:此處將程序部署到iphone設備中了,則下面的第7步 簽名標識可以選擇為Developer(Automatic)

5、部署 Xamarin.iOS 應用

1.請確保 Visual Studio 2019 或 Visual Studio 2017 已與 Mac 生成主機配對

2.通過 USB 或以無線方式將 iOS 設備連接到 Mac 生成主機。

3.在 Visual Studio 2019 或 Visual Studio 2017 的“解決方案資源管理器”中,右鍵單擊 Xamarin.iOS 項目,然后選擇“屬性” 。

4.導航至“iOS 捆綁包簽名” 。

5.對於“配置”,選擇“調試” ;對於“平台”,選擇“iPhone” 。

6.選擇“手動預配” 。

7.選擇由 Xcode 創建的簽名標識 ;選擇由 Xcode 創建的預配配置文件 。【打開項目的Info.plist文件,將捆綁包標識符(Bundle Identifier)更改為上面xcode中記錄的值。】

提示:Xcode 創建此簽名標識和預配配置文件並將其存儲在 Mac 生成主機上。 由於 Visual Studio 2019 或 Visual Studio 2017 已與 Mac 生成主機配對,因此可訪問該標識和配置文件。 如果未列出,建議重啟 Visual Studio 2019 或 Visual Studio 2017。

8.保存並關閉項目屬性。

9.選擇 iOS 設備並運行應用。

可能出現的問題

1、Xamarin.iOS 12.14.0 does not support a deployment target of 12.4 for iOS (the maximum is 12.2). Please select an older deployment target in your project's Info.plist or upgrade to a newer version of Xamarin.iOS. AwesomeApp.iOS

解決方法:在 Info.plist 中修改 部署目標,為12.2

再次運行,即可將ios的app下載到iphone中運行了。

2、Could not find any available provisioning profiles for iOS

這個錯誤可能出現在你是用 Visual Studio 或者 Visual Studio for Mac 部署真機調試的時候出現。

只有 XCode 才能生成 provisioning profiles!所以,如果你希望只使用 Visual Studio 或者 Visual Studio For Mac 或者 Xamarin 來部署是不可能的。

如果出現了此錯誤,你需要使用 XCode 提前生成一份 provisioning profiles 然后在 Visual Studio 中使用這份 profiles。

方法:

  • 在 XCode 中新建一個項目;
  • 填寫 Bundle Identifier:

注意:必須寫成跟你待會兒用 Visual Studio 部署時項目一模一樣的 Bundle Identifier!
比如你在 Visual Studio for Mac 中准備部署的應用為 com.walterlv.CloudKeyboard,那么在這里也必須填寫 com.walterlv.CloudKeyboard。

  • 在 XCode 中部署這個臨時的項目;你必須確保真的成功部署到真機上了。
  • 返回 Visual Studio,理論上你現在就可以成功部署了。

至於那個在 XCode 中臨時建的項目,你可以丟掉,也可以留着。畢竟這種方式創建的 provisioning profiles 只有 6 天的有效期。如果過期了,你就需要再來一次。

如果依然不能部署,你需要去項目中設置一下,Visual Studio 中的設置方法如下圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM