相信很多開發(fā)者目前的系統(tǒng)還是Win7或Mac,一般不會為了開發(fā)某個程序而重裝系統(tǒng),所以我們就需要用到VMware這類的虛擬機(jī)來模擬預(yù)期的開發(fā)環(huán)境。在開始介紹前,給大家說明下我當(dāng)前的軟硬件環(huán)境,本文所講的內(nèi)容適用于此環(huán)境。
安裝的是英文版SDK,但是最后安裝完成后提示的是中文!!
另外如果我們電腦太老,可能安裝SDK后,報出“CPU不支持虛擬化”的錯誤,此時雖然開發(fā)工具可以正常安裝,但是無法使用Windows Phone 8模擬器進(jìn)行調(diào)試程序了,只能用真機(jī)調(diào)試。
Windows Phone 8 可向應(yīng)用開發(fā)人員提供大量新增和更新功能,包括本地游戲開發(fā)、Windows 運(yùn)行時 的手機(jī)特定版本和新內(nèi)核。我們編寫了此介紹以幫助您了解 Windows Phone 8 和 Windows Phone SDK 8.0 中的新增和更新功能。對于您擁有的 SDK 中的工具,我們感到非常自豪。這些工具能夠幫助您創(chuàng)建讓用戶更有理由喜愛他們的 Windows Phone 的 Windows Phone 應(yīng)用。
前期準(zhǔn)備
1.“計算機(jī)”右鍵“屬性”查看自己電腦安裝的Windows 8系統(tǒng)的版本,以及電腦內(nèi)存是不是4G或4G以上。
注:必須是Windows 8專業(yè)版以上的系統(tǒng)。
軟件環(huán)境:
Windows 7 旗艦版 (x64)、VMware Workstation 10,硬件環(huán)境:Xeon CPU E3 1230 (4核)。
簡介
想要安裝 Windows Phone SDK 8.0,64位處理器、4G 內(nèi)存、Windows 8 64位操作系統(tǒng)(任意版本)是必須要滿足的基本條件,開發(fā)完后可以使用在微軟開發(fā)者中心注冊過的 Windows Phone 8手機(jī)進(jìn)行調(diào)試。如果想要使用 Windows Phone 模擬器直接調(diào)試,那么CPU還必須支持二級地址轉(zhuǎn)換(SLAT,Second Level Address Translation)、操作系統(tǒng)必須是專業(yè)版或更高的版本。
準(zhǔn)備環(huán)境
按照上面講的要求進(jìn)行自檢。
同時檢查是否支持SLAT
在微軟官方下載Coreinfo(地址見文末)并解壓,然后用管理員身份運(yùn)行命令提示符(開始菜單->所有程序->附件->命令提示符->右鍵“以管理員身份運(yùn)行”)。
并在命令提示符中輸入 “Coreinfo安裝路徑\Coreinfo.exe -v”。intel的處理器,顯示為EPT(Extended Page Tables)。AMD處理器,顯示為NPT(Nested Page Tables)或RVI(Rapid Virtualization Indexing)。如果CPU支持SLAT,那么你會看見“EPT *”的字樣,否則看到的是“EPT -”。
在VMware中新建虛擬機(jī)
使用自定義安裝,除了個別的需要根據(jù)下面圖片所示進(jìn)行設(shè)置外,其余一路默認(rèn)安裝就可以了。
選擇windows 8 x64系統(tǒng)
至少選擇2個CPU
至少4G的內(nèi)存
在啟動虛擬機(jī)前,設(shè)置CPU的虛擬化引擎為 “Intel VT-x/EPT 或 AMD-V/RVI”,同時讓CD/DVD指向Windows 8 專業(yè)版或更高版的iso文件。
安裝Windows 8 x64 Pro
檢查此系統(tǒng)的Hyper-V是否已經(jīng)安裝
使用“Win +X”快捷鍵呼出“程序和功能”面板,選擇“啟用或關(guān)閉 Windows 功能”,可以看見Hyper-V平臺選項(xiàng)為灰色,鼠標(biāo)移上去顯示“無法安裝Hyper-V, 某個虛擬機(jī)監(jiān)控程序正在運(yùn)行”。
我們先不去理會這個問題,直接進(jìn)入下一步。
下載安裝Windows Phone SDK 8.0
Windows Phone Software Development Kit (SDK) 8.0 向您提供為 Windows Phone 8 和 Windows Phone 7.5 開發(fā)應(yīng)用和游戲所需的工具。
在官方下載頁面下載SDK后安裝,因?yàn)槲蚁螺d的是iso版本,該版本貌似md5校驗(yàn)碼有問題,所以在安裝完后會提示“Visual C++ 2012 x64 Debug Runtime 無法找到元素”。不過不影響我開發(fā)Windows Phone App,也就沒去細(xì)究。
提示Hyper-V已經(jīng)啟用
根據(jù)要求重啟后,完成安裝
安裝成功,并提示Hyper-V也安裝成功,我們再看一下系統(tǒng)的Hyper-V選項(xiàng),發(fā)現(xiàn)已經(jīng)全部安裝好了。
運(yùn)行Visual Studio
官網(wǎng)申請序列號
在運(yùn)行Visual Studio Express 2012 For Windows Phone的時候,會要求輸入序列號,這個只需要點(diǎn)擊旁邊的“在線注冊”字樣注冊就可以收到帶有序列號的郵件。
新建第一個Windows Phone 8 App
選擇Windows Phone App項(xiàng)目模板
選擇目標(biāo)系統(tǒng)為Windows Phone OS 8.0
選擇模擬器(Emulator WVGA 512M),點(diǎn)擊運(yùn)行
使用Windows Phone模擬器運(yùn)行,提示“The Windows Phone Emulator wasn't able to create the virtual machine. Generic failure”。
下面將通過修改vmx文件來解決這個問題。
修改vmx文件
vmx是VMware的配置文件。先關(guān)閉當(dāng)前的虛擬機(jī),然后進(jìn)入剛創(chuàng)建的虛擬機(jī)所對應(yīng)的目錄,找到“.vmx”結(jié)尾的文件,使用記事本或其它編輯器工具打開,在文件末加入下列語句:
vmx文件
hypervisor.cpuid.v0 = "FALSE"mce.enable = "TRUE"
Hyper-V會檢查當(dāng)前是否運(yùn)行在虛擬機(jī)里,只有當(dāng)不是的時候才會正常運(yùn)行。hypervisor.cpuid.v0 = "FALSE" 這句話就是為了繞過這個檢查。
保存后,重新打開虛擬機(jī)。這次運(yùn)行項(xiàng)目時,會提示“Do you want to configure the emulator to connect to the Internet?”,意思就是網(wǎng)絡(luò)連接丟失,我們選擇“Yes”,讓模擬器配置網(wǎng)絡(luò)連接。
現(xiàn)在你已經(jīng)可以正常運(yùn)行Windows Phone 模擬器了。Cheers!
這個過程有點(diǎn)長,耐心等待一會兒
這就是剛剛創(chuàng)建的應(yīng)用
回過頭來,看一下網(wǎng)絡(luò)連接面板,會發(fā)現(xiàn)多了些奇怪的連接。這些就是Hyper-V創(chuàng)建的虛擬交換機(jī)連接。
如果禁用了其中的 vEthernet(Internal Ethernet Port Windows Phone Emulator Internal),就會導(dǎo)致運(yùn)行模擬器時提示“The emulator couldn't determin the host IP address, which is used to communicate with the guest virtual machine”。因此,該連接對于運(yùn)行模擬器來說是必須的。
其它問題
如果發(fā)些自己還是啟動不了模擬器,請檢查下自己的Hyper-V交換機(jī)是否已經(jīng)建立。交換機(jī)配置中至少包含“Windows Phone Emulator Internal Switch”這個交換機(jī)。
Hyper-V 管理器
正常的Hyper-V 管理器
正常的虛擬交換機(jī)管理器
如果沒有找到這個虛擬交換機(jī),也不用心急。通過“新建虛擬網(wǎng)絡(luò)交換機(jī)”這個選項(xiàng),輸入“Windows Phone Emulator Internal Switch”,選擇“內(nèi)部”就可以自己建立一個了,效果是一樣的。
Windows SDK 8.0 下載地址,ISO地址可在該頁面內(nèi)找到
快速問答
1. 為什么要x64位?
因?yàn)镠yper-V只能在64位處理器下工作
2. 為什么要支持SLAT?
因?yàn)镠yper-V需要用到它來提高虛擬地址和物理地址轉(zhuǎn)換的效率。
3. 為什么要使用Hyper-V?
因?yàn)閃indows Phone 8 模擬器需要運(yùn)行在Hyper-V上。
4. 什么是Hype-V?
Windows 8 的虛擬化技術(shù)。