1. 程式人生 > >在Visual Studio 2010/2012/2013/2015上使用C#開發Android/IOS安裝包和操作步驟

在Visual Studio 2010/2012/2013/2015上使用C#開發Android/IOS安裝包和操作步驟

官方學習文件:http://developer.xamarin.com/guides/android/getting_started/

官方學習例子:http://developer.xamarin.com/samples/android/all/

Xamarin 配置手冊和離線包下載 

http://pan.baidu.com/s/1eQ3qw8a

具體操作:

安裝前提條件(在這裡演示通過的是vs2013+up4)

1、 安裝Visual Studio 2013,安裝過程省略,我這裡安裝的windows10 + vs2013 with update 4。

2、 安裝Java SDK,按照Next一步步安裝,此處省略,如下圖:

clip_image002

3、 安裝Android SDK:因為線上安裝的訪問google存在問題,而且速度慢,這裡採用離線安裝包,拷貝Android SDK到指定目錄

clip_image004

我這裡拷貝到C:\Program Files (x86) 如下圖:

clip_image006

4、 安裝Android NDK:這裡拷貝Android NDK離線包,如下圖:

clip_image008

這裡指定拷貝到C:\Program Files (x86) 如下圖:

clip_image010

5、 安裝Xamarin,按照Next一步步安裝(安裝時注意選擇你的VS版本)

環境配置

1. 配置JDK

開啟【我的電腦】屬性-【高階系統設定】-【環境變數】如下圖:

clip_image012

1) 第一“JAVA_HOME”:JAVA_HOME的內容是jdk安裝目錄。如小編安裝的位置C:\Program Files (x86)\Java\jdk1.7.0_60,並且後邊不帶分號,如下圖:

clip_image013

2) 第二,檢查CLASSPATH,這是一個jar包的呼叫。.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有點號和分號,後邊結尾也有分號。或者可以寫成“.;%JAVA_HOME%\lib”如圖所示,一樣的效果。如下圖:

clip_image014

3) 第三檢查“PATH"變數是否正確,PATH變數很簡單,就是jdk的bin目錄的意思。%JAVA_HOME%\bin;

clip_image015

4) 安裝了JDK的話,正常CMD下輸入JAVAC時一定可以成功的。就會有如下資訊提示

clip_image017

2. 破解Xamarin

1) 破解Android:複製

 mandroid.exe 到 %PROGRAMFILES(x86)%\MSBuild\Xamarin\Android

 在cmd命令裡切換到%PROGRAMFILES(x86)%\MSBuild\Xamarin\Android目錄下執行以下命令進行註冊:

mandroid.exe --activate --activation-name=b4a --activation-phone=b4a --activation-company=b4a --activation-code=b4a --activation-email=b4a

詳細步驟如下:

回車後如圖:

在游標後面輸入上面的一串字元:

然後回車就完成註冊了

2) 檢查是否註冊成功

 執行命令:mandroid.exe --entitlements > "%temp%"\mfa.txt

 再執行命令:type "%temp%"\mfa.txt

注意:如果出現類似於 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MonoAndroid Priority2015-08-26T05:52:36"的形式則表明註冊成功。

3)破解iOS:複製 mtouch.exe 到 %PROGRAMFILES(x86)%\MSBuild\Xamarin\iOS

在cmd命令裡切換到%PROGRAMFILES(x86)%\MSBuild\Xamarin\iOS目錄下執行以下命令進行註冊:

mtouch.exe --activate --activation-name=b4a --activation-phone=b4a --activation-company=b4a --activation-code=b4a --activation-email=b4a

3. 更新Android SDK

開啟SDK Manager,如下圖:

clip_image019

我這裡離線包,版本23.0.5,如果發現如下platform-tools有更新,可以更新一下

clip_image021

注意:

u 繼續更新SDK下圖中的這些Android X.X.X都是不同版本的android系統開發包,你想進行哪個版本的開發,就下載哪個,高版本相容低版本,也就是你開發一個API 10版本的App,高版本系統的也可以執行。所以你至少應該有最新版本和一個使用比較廣泛的低版本,比如API 8

u 消除SDK更新時的“https://dl-ssl.google.com refused”異常:更新的時候,國內無法連線google 伺服器,可以使用代理,FreeGate就行

解決辦法是:將https://修改為http:// 
修改方法是:如下圖,在Android SDK Manager->Tools-Options...選項介面, 
將“Force https://… sources to be fetched using http://…”勾選!

clip_image023

如果還有錯,可以在檔案(C:\Windows\System32\drivers\etc\hosts)中,新增如下幾行:

203.208.46.146 www.google.com

203.208.46.146 dl.google.com

203.208.46.146 dl-ssl.google.com

4. 配置VS2013的SDK和NDK路徑

開啟VS2013的【工具】-【選項】,如下圖:

clip_image025

好了,這個時候你就可以開始開發了。安裝好android模擬器,就可以連線模擬器除錯了

開發例子

開啟VS2013,建立一個VS2013的Android的專案,如下圖:

clip_image027

clip_image029

Ø 點選Android模擬器,配置模擬器,如下圖:

clip_image031

點【建立】

clip_image033

這裡新建模擬器AVD

clip_image035

啟動模擬器,如下圖:

clip_image037

啟動後如下圖:

clip_image039

點【Launch】後,點選後如下圖:

clip_image041

正在啟動。。。。

clip_image043

等待啟動完畢後效果如下:

clip_image045

Ø 在VS2013按F5開始啟動安卓應用,第一次會把安卓應用安裝到模擬器中,如下圖:

clip_image047

clip_image049

clip_image051

模擬器Genymotion安裝

由於android SDK提供的模擬器是在是巨慢無比,太差勁了,所以不得不找一個替代品。基於Virtual Box的GenyMotion絕對是最佳選擇,執行速度非常流暢,不過目前只支援Android4.1.1、4.2.2。

在官網:http://www.genymotion.com/註冊好賬號,並下載安裝GenyMotion,目前最新版本為1.3.0。

安裝之前需要你的電腦上已經安裝Virtual Box(目前最新版為4.3.2),不過我發現我安裝了Virtual Box 4.3.2的情況下GenyMotion無法啟動,所以後來又換成官方推薦的4.2.12,從https://www.virtualbox.org/wiki/Download_Old_Builds_4_2下載。

安裝完成之後:

· 通過”Settings”按鈕:設定好Android SDK路徑,並勾選”When a virtual devices starts, connect it automatically to ADB”,”ADB from Android Developer Tools successfully found”。

· 通過“Add”按鈕

· 新增裝置,然後需要登入

· 如果所選的裝置映象沒有下載,則需要線上下載某個裝置的vbox映象,一般映象大小為200M。

· 通過嚮導提示新增虛擬機器,輸入名稱如“lwme Nexus S - 4.2.2 - with Google Apps - API 17 - 480x800”,再等待虛擬機器建立好

· 通過“Play”按鈕執行虛擬機器

虛擬機器啟動之後,VS的Xamarin.Android工具欄會列出裝置的名稱,選擇這個裝置就可以在GenyMotion模擬器上除錯Android應用程式了。

Ø genymotion常見問題解答

必須支援OpenGL

1、出現"Unable to load VirtualBox engine"提示,之後無迴應。

答:

1、請至C:\Users\USER\AppData\Local\Genymobile,尋找一名為Genymotion的記事本txt檔案。開啟後會看到密密麻麻的一大串,Ctrl+F搜尋" found in settings "往後一點,會看到一個路徑,接著請按照上面的路徑重新安裝即可。 
2、看看網上鄰居里面是否有安裝vbox時建立的連線,預設的名字一般為“VirtualBox Host-Only Network”,看看這個連線是否被禁用,如果禁用的話也會有這樣的提示。 
3、看看系統的使用者名稱是不是中文的,如果是中文改成英文的,解除安裝後重新安裝。 
4、看看是不是安裝的時候開了防毒軟體,如果開了,退出防毒軟體,解除安裝後重新安裝。

VisualGDB除錯Android

1. 安裝VisualGDB,破解版本

clip_image053

² 安裝VisualGDB-4.2r4-trial.msi

² 將Crack下的VisualGDB.exe覆蓋安裝目錄下的檔案,安裝路徑預設為C:\\Program Files\\Sysprogs\\VisualGDB

2. 下載並安裝VisualGDB, 安裝完成後,在Visual Studio的目錄中可以看到Android選項:

clip_image055

clip_image057

clip_image059

clip_image061

clip_image063

clip_image065

附帶

Vbox和Vmware兩款產品都支援3D加速,但有不小區別。那就是對OpenGL和DirectX的支援不一樣,vmware不支援OpenGL的加速只能通過cpu模擬,而vbox兩者均可以通過顯示卡加速。因此Ubuntu的compiz效果在vmware中是不能使用的,而vbox卻可以,想體驗compiz的請繞行vmware。再來說DirectX,vbox:dxdiag,dx7介面報錯,dx8,dx9介面正常。3dmark06,報不支援pixel shader 2.0。vmware:dxdiag,dx7-9介面正常,3dmark06,正常,和host差100多分。 實際使用中,vmware中有些3D遊戲不能執行。

常見問題,如果出現“程式“Mono”已退出,返回值為 0 (0x0)。”,你可以嘗試這麼設定

工作原理

Android應用程式會被編譯為IL程式碼,啟動時再進行JIT編譯(動態編譯),釋出程式的時候會包含一個mono runtime。而iOS則是直接通過AOT編譯(靜態編譯)為ARM彙編程式碼.C#程式碼直接編譯成ARM CPU的機器碼. 因此效能將與原生模式開發的應用程式相比, 沒有不同甚至更好. 而在Android 系統上, 由於Xamarin 不使用Android的Dalvik 虛擬機器器, 改為採用CLR, 經測試其效能更甚於原生的應用程式.

Xamarin 配置手冊和離線包下載 

http://pan.baidu.com/s/1eQ3qw8a

學習資料:http://xamarin.csdn.net/module/btc/xamarin/blog

轉發自:http://www.shaoqun.com/a/105700.aspx