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