如何在Unity中對程序進行 Android 真機斷點調試?

在PC中很方便的可以對unity進行斷點追蹤等調試,但是當你把程序編譯成APK後如何進行斷點追蹤等調試


在百度上搜索了很久都沒有找到如何在Android上面真機斷點調試的方法,沒辦法只能科學上網到谷歌上去找,終於在Unity官網上找到了Android真機斷點調試的辦法。

1.首先在手機上開啟USB調試功能,並安裝驅動(這一步很多手機助手都可以完成)。

2.用USB電纜連接手機和電腦。

3.確保手機和電腦在一個區域網內,簡單的說就是電腦和手機共用一個路由器,網段一樣。

4.打開電腦上CMD窗口,輸入以下命令:

adb tcpip 5555(該命令打開手機adb網路調試功能)

正常情況下輸入命令後控制台會出現回顯

restarting in TCP mode port: 5555

打開手機查看手機的IP地址(不會請百度)假設手機的地址是192.168.1.x輸入命令

adb connect 192.168.1.x

如果一切正常控制台會回顯以下內容

connected to 192.168.1.x:5555

如果你想查看是否連接成功請輸入以下內容

adb devices

控制台會回顯連接的設備

5.如果一切連接成功,請拔掉USB電纜,選擇File-&>BuildRun,在編譯之前要勾選上Development Build 和Script Debugging這兩項(在build setting裡面勾選不要忘記否則是不能調試的)電腦會自動編譯文件並將APK推送至手機,在手機上同意並安裝。6.當程序運行後再Monodevelop裡面打開Run-&>Attach to process 會發現你手機的選項,選擇手機,在腳本裡面添加斷點,你發現可以調試了,那叫一個爽!出現問題再也不用去瞎猜,或者添加Debuglog了。

新補充:有些同學因為某些原因沒有實現最後調試這一步,我深表遺憾,為了給大家證明確實是可以這麼做的,我特此貼出我的成功截圖,我的兩個手機聯想K3note 和小米2都沒有問題(不要吐槽手機太破,對我來說完全夠用,開發遊戲的我現在基本不怎麼玩遊戲了),三星T815平板還沒試不過相信沒有問題。請大家堅定信心,這條路肯定是是行得通的,出了問題好好檢查下到底是哪裡不對。

如果這篇文章對您有幫助或者你對此表示認同請點贊,提升排名讓更多需要的人看到本文,謝謝!

本文版權所有如無本人授權請勿轉載,如需轉載請聯繫作者,一個字按一軟妹幣收費!


還有一種用網路調試。具體看這個[Unity3D]關於Android真機調測Profiler_蔥燒烙餅


請問怎麼能attach到手機設備啊?

adb顯示有設備了,但是mono里就attach不到,求解惑


樓主:使用你這個方法,一直到第五步,開始buildrun 時。在buildplayer會報錯。以下時候報錯信息:

CommandInvokationFailure: Unable to retrieve device properties. Please make sure the Android SDK is installed and is properly configured in the Editor. See the Console for more details.

D:/andriodSDK/android-sdk-windowsplatform-toolsadb.exe -s "MYV0215A21003970" shell getprop

stderr[

error: unknown host service

]

stdout[

]

還請有時間幫忙解惑


樓主,我卡在第4步了,adb connect 手機ip:5555 這兒 一直提示我無法連接 成功

後來我去 ping 我的手機 也一直不成功


1.win下安裝助手類應用(mac可以直連接)

2.設置腳本調試

3.Build and Run

4.Attach to UnityPS:如果只是簡單的手機感測器類,如

  • Touch input
  • Accelerometer
  • Gyroscope
  • Device camera streams
  • Compass
  • GPS

,Unity Remote是不錯的解決方案


推薦閱讀:

unity 3d 中如何實現以物體的表面作為播放視頻的位置,比如在牆面播放視頻?
學習 Unity3D 開發,有哪些資源(論壇或網站)?
有哪些推薦的Unity3D開發方面的博客?
如何讓3D遊戲中人物上下樓腳踏實地?

TAG:編程 | Android開發 | Unity遊戲引擎 | 軟體調試 |