1. 程式人生 > >關於如何在Visual Studio上仿真調試安卓的U3D應用

關於如何在Visual Studio上仿真調試安卓的U3D應用

oracle 機器 att 自動 bsp 存在 地址選擇 u3d 下使用

  正巧最近需要開發一個安卓手機上的Unity3D遊戲功能,想著既然要開發麽,當然需要調試。本來的話一些基礎功能是不需要使用仿真模擬器,直接在U3D的開發編輯器上就能調試,不過有一些安卓上才能執行,比如

AndroidJavaClass jc = new AndroidJavaClass("");

 這種代碼如果直接在U3D的開發編輯器上調試,直接就會返回

技術分享圖片

因此,我們需要在實體機(安卓手機)或者模擬器上調試才能正常執行。

以下全都是我這臺電腦的運行結果,並不代表其他電腦有同樣的效果

我選擇在模擬器上調試,因為使用實體機的話,據說只能使用WIFI,雖然USB調試也可以,不過查了下資料,發現問題挺多的,而WIFI的話速度就慢很多了。

在模擬器的選擇上,我首先選擇了,Android Virtual Device(以下簡稱AVD),在進行了各種配置以後,AVD模擬的安卓U3D應用確實正常運行了,不過AVD給安卓模擬器分配的網絡是NAT網絡,也就是說,安卓模擬器裏面跑的IP是重新分配的虛擬IP,而如果我們用127.0.0.1來attach是沒法子訪問到模擬器內部端口,那麽辦法只有一個,使用redir指令來重定向,把模擬器分配給安卓應用的端口重新分配出來給PC訪問,當然,這個方法本身是沒啥問題的話,可問題是

技術分享圖片

這個端口,在你每次啟動新的調試以後,都會變化,也就是說,你每次想要調試,都要重新redir一個新的端口才行,這個就蛋疼了啊

要解決這個問題,我們只能把NAT網絡改成橋接網絡才行,可惜我找遍AVD也找不到能夠把網絡連接方式改成橋接的設置,於是作罷,只能放棄AVD

後來,我把目光轉向Visual Studio Emulator for Android,這是VS自帶的安卓模擬器,基於Hyper-v虛擬機運行,在虛擬機的網絡介質設置界面,可以把網絡改成橋接模式,非常的Nice,可惜在我把我這邊的項目導入模擬器運行的時候,不管怎麽辦,模擬器一定會崩潰,所以這個辦法至少在我的電腦上只能作罷,也許你們項目可以用這個辦法。

之後我就把目光轉向國內的安卓模擬器,比如夜神啊,雷電啊之類的,可惜的是,這些安卓模擬器的橋接模式,都不支持Win10系統,至於要我換系統?不存在的。

之後麽,使用了據說是最好的安卓模擬器Geometry ,確實不錯,而且也確實支持修改網絡連接方式為橋接,可惜不知道為啥,還是跟上面那個一樣,無法運行我這邊的項目,這次倒不是崩潰,而是應用打開全是空白...沒辦法,只能作罷,不過這個方法在你們的項目上也應該能用。

最後,一氣之下使用了VirtualBox才最終解決問題,下面就是本文的正題,關於如何在Visual Studio上仿真調試安卓的U3D應用。

在開始之前,需要做一些準備功能

1.下載安卓的x86系統文件,可以是安裝包,也可以去(https://www.osboxes.org/android-x86)下載別人做好的成品虛擬機硬盤,推薦後者,可以少折騰,不過這裏提供的下載包需要從谷歌硬盤上拖下來,所以,是吧。

2.下載虛擬機,這個沒啥好說的話,我用的是Oracle VM VirtualBox,隨便百度下就有下載地址

3.安裝好安卓的SDK包,我使用的是VS安裝器提供的,也可以用就是了

4.如果使用的是VS,需要在VS上面安裝Unity3D的拓展文件

上面最主要的功能做好以後,我們先打開虛擬機配置下

技術分享圖片

其實也沒啥好說的,把系統設置為Liunx項目,硬盤指向下載來的vdi文件

技術分享圖片

然後右鍵項目-屬性,在網絡選項卡,把連接方式改成橋接網卡,然後啟動虛擬機就行

技術分享圖片

正常啟動項目以後,按照一般安卓系統的操作方式,記下IP,然後打開命令行控制器

技術分享圖片

在adb.exe的所在目錄,鍵入

adb connect IP

如果出現connected to IP,就代表本地機器和模擬器連接成功,現在就可以CMD了

接下來,把虛擬機晾一邊(可以的話,設置一下讓安卓系統永不休眠,不然過一會兒不操作,進入休眠模式不好喚醒,只能重啟)

打開Unity3D編輯器,設置下配置

技術分享圖片

技術分享圖片

上述框紅的,都是需要設置的,編輯器我使用VS,當然你們也可以用Monodevelop,編輯附加需要勾上,SDK和JDK需要手動指定位置,設置完畢後就可以關了

技術分享圖片

技術分享圖片

在Build設置界面,雙擊Android,然後把紅框的都勾上,最後點擊Build And Run

技術分享圖片

會出現一個讓你保存apk文件的地址選擇框,請務必保證保存APK文件的路徑上面沒有出現中文,出現中文文字會導致APK無法安裝到安裝模擬器上.

技術分享圖片

如果上述工作沒有做錯,點擊保存後,就會進入漫長的連接安卓設備,構建應用,以及發送應用包給安卓模擬器並自動安裝運行等操作

技術分享圖片

如果一切正常,你就會發現,安卓模擬器已經把應用運行起來,等待你操作了,

技術分享圖片

現在,讓我們啟動VS

技術分享圖片

隨便在哪個指令上下斷點(不下斷點調試的時候斷不下來)

技術分享圖片

如果VS安裝了U3D的拓展組件,這裏就應該有這個選項

技術分享圖片

然後你會發現,模擬器裏面運行的應用,以及在這裏顯示了,不用想,雙擊點開就是

如果上述操作都沒問題,你會發現,VS直接進入了調試模式

技術分享圖片

如果出現

技術分享圖片

這種非調試模式,就是連接不成功

然後我們隨便在應用上面做一些我們預定要調試的操作

技術分享圖片

看VS已經正常的斷下來了,並且在自動窗口,把當前的指令變量都展示出來,這樣子調試就方便多了。

關於如何在Visual Studio上仿真調試安卓的U3D應用