(本文是基於老版本的VS和Xamarin,而VS2017已經整合了Xamarin,所以,本文已經過時,最新的Xamarin開發介紹請參見 使用 Xamarin開發手機聊天程式 。)
如果是.NET開發人員,想學習手機應用開發(Android和iOS),Xamarin 無疑是最好的選擇,編寫一次,即可釋出到Android和iOS平臺,真是利器中的利器啊!好了,廢話不多說,就開始吧,本文將描述基礎環境的搭建,以及將應用在android環境中除錯、釋出、執行,iOS部分將在後面的文章中專門講解。
一.搭建環境
1. 安裝 VS2015。
2. 安裝 Xamarin。我安裝的是目前的最新版本:Xamarin.VisualStudio_4.2.0.703.msi。
3. 安裝JDK:我安裝的是目前的最新版本:jdk1.7.0_71。
4. 下載 Android SDK。
(1)下載完成後, Android SDK 目錄下有兩個exe:AVD Manager.exe 和 SDK Manager.exe。
(2)SDK Manager 用於管理不同版本的SDK,在其管理介面中可以下載新版本的SDK或升級舊版本的SDK。
我下載了版本號的5.1.1,6.0,7.0的SDK(其檔案目錄在子資料夾platforms下)。這些版本的SDK會在專案編譯時用到,以及安卓模擬器也會用到它們。
(3)AVD Manager.exe 用於管理安卓模擬器。
與SDK的版本號對應,我建立了三個安卓模擬器,供除錯時使用。
5. 在VS中配置Xamarin選項。
由於我暫時沒有用到原生的安卓開發,所以,我沒有配置NDK。
二. 新建Xamarin.Forms專案、編譯、部署、除錯
Xamarin.Forms 是Xamarin提供的一個套件,用於跨移動平臺的Form應用開發,所以,如果是使用Xamarin開發App,那麼,Xamarin.Forms 將是很好的選擇。
1.新建一個Cross-Platform跨平臺專案,選擇Xaml App(Portable)。
Xaml App 與 普通的App的區別在於, Xaml App是使用Xaml檔案來控制Form上的控制元件的佈局的。
2.專案新建成功後,會在解決方案管理器中,生成三個專案。
ESFramework.XamarinDemo 是可移植的類庫,App的絕大部分邏輯和UI都是在其中完成。
ESFramework.XamarinDemo.Droid 對應了安卓版本,ESFramework.XamarinDemo.iOS 對應了iOS版本,它們都引用了 ESFramework.XamarinDemo 專案。
對於一般簡單的應用而言,只需要在ESFramework.XamarinDemo中編寫程式碼就可以了,ESFramework.XamarinDemo.Droid 和 ESFramework.XamarinDemo.iOS中的程式碼幾乎不用動。
3.編譯 ESFramework.XamarinDemo.Droid 專案
在專案屬性皮膚中,要選擇編譯所使用的安卓SDK的版本號,我選擇的是6.0。
4.部署、除錯
編譯成功後,就可以嘗試部署到虛擬機器,並執行除錯了。
(1)啟動安卓虛擬機器。
執行上述的AVD Manager.exe ,我選擇了自己建立的and6虛擬機器,點選介面右側的Start按鈕,啟動一個虛擬機器例項。
(2)部署並執行
在VS上的工具欄,選擇剛才啟動的虛擬機器例項and6,點選除錯按鈕(綠色的三角形),即可開始部署、執行的流程。(注意,要選擇Debug模式)
(3)除錯
部署執行成功後,模擬器就會顯示demo App 的UI介面:
此時,可以在原始碼中加入斷點開始除錯程式了。
三. 釋出 apk
1.將專案切換到Release。
2.設定清單資訊Manifest
包括:應用的名稱、apk包的名稱、圖示、版本號、許可權等。
3.設定Linker
Linking 設定為none,意味著要將所有的SDK打包到apk中,這樣,一個apk至少是40多M。
Linking 一般設定為 SDK Assemblies Only,表示 apk 使用手機中自帶的SDK。
4.Archive - 存檔apk
在釋出apk之前,先要Archive得到apk。注意:Archive得到的apk不能直接部署到手機真機,執行會閃退。還需要經過最後的Distribute正式釋出。
5.Distribute
在Archive成功後,會出現如下介面:
點選Distribute按鈕,進入釋出apk的流程。首先,要對apk進行簽名:
如果是第一次走這個流程,先要點選綠色的“+”,建立一個金鑰檔案,然後選擇它,再點選“Save As”按鈕,即可儲存簽名後的apk。
6.拷貝到真機
將上述得到的ESFramework.XamarinDemo.apk,拷貝到真機,就可以安裝了。晚裝完畢,點選圖示,即可執行我們的demo App了。
四.結語
以上的整個流程是我們在為ESFramework通訊框架的Xamrain版本實現一個入門Demo時,完整的記錄,希望對剛剛開始研究Xamrain開發的朋友有所幫助。
後續的文章,我們將介紹這個Demo的後續開發過程,基於Xamarin實現手機與PC互通的的IM 聊天小程式。