官方學習文檔: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一步步安裝,此處省略,如下圖:
3、 安裝Android SDK:因為線上安裝的通路google存在問題,而且速度慢,這裡采用離線安裝包,拷貝Android SDK到指定目錄
我這裡拷貝到C:\Program Files (x86) 如下圖:
4、 安裝Android NDK:這裡拷貝Android NDK離線包,如下圖:
這裡指定拷貝到C:\Program Files (x86) 如下圖:
5、 安裝Xamarin,按照Next一步步安裝(安裝時注意選擇你的VS版本)。
環境配置
1. 配置JDK
打開【我的電腦】屬性-【進階系統設定】-【環境變量】如下圖:
1) 第一“JAVA_HOME”:JAVA_HOME的内容是jdk安裝目錄。如小編安裝的位置C:\Program Files (x86)\Java\jdk1.7.0_60,并且後邊不帶分号,如下圖:
2) 第二,檢查CLASSPATH,這是一個jar包的調用。.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有點号和分号,後邊結尾也有分号。或者可以寫成“.;%JAVA_HOME%\lib”如圖所示,一樣的效果。如下圖:
3) 第三檢查“PATH"變量是否正确,PATH變量很簡單,就是jdk的bin目錄的意思。%JAVA_HOME%\bin;
4) 安裝了JDK的話,正常CMD下輸入JAVAC時一定可以成功的。就會有如下資訊提示
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,如下圖:
我這裡離線包,版本23.0.5,如果發現如下platform-tools有更新,可以更新一下
注意:
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://…”勾選!
如果還有錯,可以在檔案(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的【工具】-【選項】,如下圖:
好了,這個時候你就可以開始開發了。安裝好android模拟器,就可以連接配接模拟器調試了
開發例子
打開VS2013,建立一個VS2013的Android的項目,如下圖:
Ø 點選Android模拟器,配置模拟器,如下圖:
點【建立】
這裡建立模拟器AVD
啟動模拟器,如下圖:
啟動後如下圖:
點【Launch】後,點選後如下圖:
正在啟動。。。。
等待啟動完畢後效果如下:
Ø 在VS2013按F5開始啟動安卓應用,第一次會把安卓應用安裝到模拟器中,如下圖:
模拟器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,破解版本
² 安裝VisualGDB-4.2r4-trial.msi
² 将Crack下的VisualGDB.exe覆寫安裝目錄下的檔案,安裝路徑預設為C:\\Program Files\\Sysprogs\\VisualGDB
2. 下載下傳并安裝VisualGDB, 安裝完成後,在Visual Studio的目錄中可以看到Android選項:
附帶
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