(本文是基於老版本的VS和Xamarin,而VS2017已經集成了Xamarin,因此,本文已通過時,最新的Xamarin開發介紹請參見 使用 Xamarin開發手機聊天程序 。)html
若是是.NET開發人員,想學習手機應用開發(Android和iOS),Xamarin 無疑是最好的選擇,編寫一次,便可發佈到Android和iOS平臺,真是利器中的利器啊!好了,廢話很少說,就開始吧,本文將描述基礎環境的搭建,以及將應用在android環境中調試、發佈、運行,iOS部分將在後面的文章中專門講解。android
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。spa
我下載了版本號的5.1.1,6.0,7.0的SDK(其文件目錄在子文件夾platforms下)。這些版本的SDK會在項目編譯時用到,以及安卓模擬器也會用到它們。3d
(3)AVD Manager.exe 用於管理安卓模擬器。調試
與SDK的版本號對應,我建立了三個安卓模擬器,供調試時使用。
5. 在VS中配置Xamarin選項。
因爲我暫時沒有用到原生的安卓開發,因此,我沒有配置NDK。
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界面:
此時,能夠在源碼中加入斷點開始調試程序了。
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 聊天小程序。