在進行Android之前, 可以先來看看Android模擬器的類型, 點擊如下紅框所示
主要以AVD作為區分, AVD指的是Android Virtual Device即Android原生的模擬器, 非AVD為Microsoft自己出的Android的模擬器, 據說是嫌原生的太慢, 自己弄了一個出來跑在Hyper-V裡執行速度比原生的好很多, 底下就這兩類做測試.
與之前Windows測試方式相同, 先將Android專案設為起始專案, 先Build, 選擇第一個5” KitKat進行Deploy, 期間會看到這個模擬器被叫起來在Hype-V 裡如下:
原本以為會跟之前一樣順順跑完, 誰知天不從人願, 事情果然沒這麼簡單, 出現底下錯誤
再次拜讀Google大神, 找到這篇, 說是更新即可
https://forums.xamarin.com/discussion/77924/missingmethodexception-android-support-v4-widget-drawerlayout-adddrawerlistener-not-found
開啟NuGet更新如紅框所示
但是案情沒這麼單純, 之後在Build還是出現底下錯誤
又要開始當柯南了, 首先檢查一下編譯版本, 需要Android 7.0, 該不會沒裝吧
到Android SDK Manager檢查
BINGO!果然沒裝阿 @_@
接著到底下網址看一下Android 7.0配置, 需要JDK 1.8
https://developer.xamarin.com/releases/android/xamarin.android_7/xamarin.android_7.0/
再檢查一下JDK, Visual Studio安裝時, 只裝了JDK 1.7
補齊上述兩點之後, 根據以前跟Java JDK的奮戰經驗, 安裝完畢之後, 都會習慣重新開機. 之後在Visual Studio裡先Clean, 再Build確認一切沒有問題, 最後按下Deploy
搞了幾個小時, 終於成功部署, 真的是很蛋疼啊 囧rz
接下來採用AVD來Deploy
在Deploy過程中, 會跳出底下這個視窗, Google也知道預設的這個AVD被人嫌到不行, 建議新增一個x86 based的AVD會快10倍, 等等也來測試這個部分
成功部署後如下圖
緊接著測試x86 based的AVD, 點擊Android Emulator如下所示
點擊Create AVD來新增一個新的模擬器
設定如下圖所示
點擊Start測試看看
果不其然又有問題, x86 based會跟Hyper-V起衝突, 必須停用Hyper-V
點擊Windows Power Shell, 並以管理員身分執行
輸入底下指令關閉hypervisor並重新開機才會生效:
bcdedit /set hypervisorlaunchtype off
接著回到Visual Studio, 選擇剛建好的AVD進行Deploy
WTF有完沒完啊, 又跑出Error >”<, 看了錯誤訊息是Intel HAXM沒有安裝
點擊Android SDK Manager
在Extra選項裡勾選Intel x86 Emulator Accelerator進行安裝
到Android SDK目錄裡找到intelhaxm-android.exe, 點擊進行安裝
安裝過程皆選擇下一步到底
最後再Deploy, 終於出現部署成功畫面如下, 速度果然飛快啊~
後記, Android模擬器怎麼這麼麻煩啊@_@