상세 컨텐츠

본문 제목

[Unity] 유니티 모바일 디버그 디버깅 관련

게임엔진관련/유니티 엔진

by AlrepondTech 2019. 5. 16. 18:19

본문

반응형

 

=================================

=================================

=================================

 

 

 

출처: https://hyunity3d.tistory.com/130

 

cmd창에서 android sdk 폴더에 sdk/platform-tools 경로로 이동한다.

휴대폰에서 발생하는 모든 이벤트 -> adb logcat

유니티에서 발생하는 모든 이벤트 -> adb logcat -s Unity

유니티에서 발생하는 log 이벤트 -> adb logcat Unity:I Native:I *:S



출처: https://hyunity3d.tistory.com/130 [Unity3D]

 

 

=================================

=================================

=================================

 

 

 

출처: https://citynetc.tistory.com/188

 

안드로이드 스튜디오에서는 안드로이드폰을 USB로 연결한 뒤 디버깅을 하면 실시간으로 로그캣을 확인하면서 디버깅을 할 수가 있습니다.

 

그러나 유니티에서는 자동으로 되지않더군요..  그래서 따로 명령프롬프트 창에 띄워서 로그캣을 확인할 수 있다는 것을 알았습니다.

 

(혹시 유니티에서 곧바로 안드로이드 폰의 로그캣을 볼 수 있는 방법을 아시는 분은 댓글로 남겨주세요 ㅎㅎ)

 

 

방법은 다음과 같습니다.

 

1. 안드로이드 sdk 폴더의 platform-tools 폴더로 이동합니다.

 

 

2. 해당 폴더 내에서 시프트 키 + 우클릭을 하면 위 그림과 같이 [여기서 명령 창 열기]가 나타납니다. 

 

 

그리고 위와 같이 작성합니다.

 

adb logcat : '안드로이드 폰'에서 발생하는 모든 이벤트 표시

adb logcat -s Unity : (안드로이드 폰에 설치된) '유니티로 개발된 앱'에서 발생하는 유니티 이벤트 표시

adb logcat Unity:I Native:I *:S : 위와 동일하나 유니티 로그캣만 표시

*주의 Unity의 u는 반드시 대문자이어야 합니다.

 

 

 

짠~ 로그가 제대로 나오는 걸 알 수 있습니다! 이제 개발하기가 좀 편하겠네요 ㅠㅠ



출처: https://citynetc.tistory.com/188 [cITy & ETC]

 

 

 

=================================

=================================

=================================

 

 

출처: https://m.blog.naver.com/PostView.nhn?blogId=dev_redtopaz&logNo=220590652105&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

 

개발환경 향상을 위해서 디버깅 방법을 찾아보자.

#기존 방식 : 노가다.....
: 최악의 방법을 사용했었다.. 유니티에서 빌드 후에 apk 를 폰에 넣어야 하는데.
이넘의 테스트 기기 (베가R3.. 동생이 버린폰을 주어다가 쓰고 있.. )가 저장장치 인식을 못하고 자꾸 오락가락한다.. 통합 드라이버도 설치해서 깔아보고 난리를 치니 하루 정도는 엄청난 속도로 파일이 복사되고 실행됐다.  그래서 쓰다가 보니 또 먹통..
결국은 빌드해서 구글에 출시(!) 까지 하고 플레이 스토어에서 검색해서 받아서 테스트하기까지..ㅋㅋㅋ
혼자 개발하고 테스트하려고 올리는 중 인듯...ㅎㅎ 이건 혼자이기 때문에 가능한거지만 이러면 안된다.

 

# Unity Remote 
결론부터 말하자면 안쓸거임.. 아래 첨부한 이미지를 보면 Scene 에서 동작하는 화면이 보이긴 하지만 제대로 동작을 안함. 버벅이는 게 아니라 화면 업데이트 되는 지 조차 의문스런 상황.. 
텍스트만  찍는 가벼운 개발빌드도 화면에서 다 못 그려준다. (물론 폰성능도 문제가 있겠지만..)
폰에서 어떻게 보이나? 라는 게 궁금하면 한번은 깔아서 보겠지만.. 색깔마저도 다 표현 못해주니 비추함.. 뭐... 터치 동작 잘하나? 이런것도 사실.. 확인 잘 안되서 별로 추천하고 싶지 않다.

과정 : 
1. 폰에 Unity Remote 어플을 설치 한다 
https://play.google.com/store/apps/details?id=com.unity3d.androidremote
2. 폰을 개발자모드로 만든다.
3. USB로 연결된 상태에서 유니티에서 플레이 버튼을 누르면 Scene 에서 보이는 화면이 폰에도 보인다.
테스트 기기 개발자모드로 만들기 http://mrhook.co.kr/207
실행방법  http://mrhook.co.kr/206

Good bye Unity Remote

 

# Android Logcat 으로 Log 보기
결론은 그냥 이게 제일 편한 데... (왜 내 폰은 디버깅조차 허락하지 못하고 복사에서 또 뻗는가....ㅎㅎ)

과정 :
Unity Build Setting > Development Build 체크, Script Debugging 체크

커맨드에서 adb logcat -s Unity 라고 친다~ 그럼 Unity 관련 로그가 쏟아짐...( Waiting..내 폰.. ㅠ_ㅠ )
adb logcat // 폰에서 발생하는 모든 이벤트
adb logcat -s Unity  // 유니티에서 발생하는 모든 이벤트
adb logcat Unity:I Native:I *:S  // 유니티에서 발생하는 Log 이벤트 -> 제일 많이 쓰겠지~

 

# Unity Plug-in ( Log - viewer)
결론 : 이거 쓸거임~ 룰루난나~
https://www.assetstore.unity3d.com/kr/#!/content/12047

 

Log Viewer by dreammakersgroup

Using this tool you can easily check your editor console logs inside the game itself! even on mobile! All what you have to do is to make a circle gesture using your mouse (click and drag) or your finger (touch and drag) on the screen to show all these logs If you have any issue please visit logs v

www.assetstore.unity3d.com

파일 받으면 유니티 메뉴가 생김 Reporter > Create 하면  Hierarchy 에 "Reporter" 가 생기는데, 놔두면 된다.. 실행해서 화면을 동그랗게 드래그 한번 하면 창이 뜬다요.... ㅋㅋㅋ (Default)
Debug.Log 나 print 로 찍은건 다 나온다. 이건 쓸만 한 듯!
* 옵션에 numOfCircleToShow 요거 조절해서 쓰면 쫭쫭. 동그라미 세개 그려야 뜨게끔 변경했더니 좋으다~ 헤헷

 

# Unity VS 
디바이스에서 디버깅 하는 방법은 아니지만 괜찮아서 델꼬 왔는데, 
모노디벨롭에서도 되는거라 링크만 걸어두자
http://belll.tistory.com/entry/UnityVS-%EC%82%AC%EC%9A%A9%EB%B2%95

 

 

=================================

=================================

=================================

 

 

 

 

 

 

 

출처: https://tristan91.tistory.com/388

 

1. 디버깅을 하게 된 이유

 

unity로 개발한 안드로이드앱에서 intent로 다른 앱을 실행시켜야하는데  다른 앱이 실행이 되지 않아 디버깅을 하고자 함

 

2. 디버깅 방법

 

2-1 adb로 디버깅을 하고자함

 

 

2-1-1 sdk에 있는 adb파일의 경로로 환경변수 설정

 

1. ADB 환경변수 설정

 

스마트폰을 PC 에 연결하기 위해서는 SDK 의 adb 라는 프로그램이 사용됩니다.

안드로이드 SDK 설치하기

 

 

 

안드로이드의 SDK 설치시 다운받았던 경로에서 하위에 있는 platform-tools 폴더를 선택합니다.

(위치 : C:\Users\user\AppData\Local\Android\android-sdk)

 

 

 

platform-tools 폴더에서 adb 응용 프로그램이 있는 것을 확인하고

위치한 폴더 경로를 복사합니다.

(위치 : C:\Users\user\AppData\Local\Android\android-sdk\platform-tools)

 

 






반응형



728x90





컴퓨터에서 오른쪽 마우스를 클릭하고 속성을 선택합니다.

 

 

 

고급 시스템 설정을 클릭합니다.

 

 

 

고급탭이 보여지고 환경 변수를 클릭합니다.

 

 

 

시스템 변수(S) 에서 변수 컬럼에 Path 를 선택하고 편집 버튼을 클릭합니다.

 

 

 

시스템 변수 편집 다이얼로그가 나타납니다.

변수 값 맨 마지막에 처음 확인했던 adb 경로를 추가합니다.

(Path 에는 이미 여러가지의 변수 값이 추가되어 있는 것을 확인하실 수 있습니다.

; 가 Separator 로 변수들이 구분되므로 아래와 같이 앞뒤로 ; 를 추가하여 adb 경로를 입력.

;C:\Users\user\AppData\Local\Android\android-sdk\platform-tools;)

 

 

 

이제 환경변수가 제대로 설정되었는지 확인해 보도록 하겠습니다.

시작 메뉴를 클릭하여 cmd 를 입력후 Enter 버튼을 누릅니다.

 

 

 

 

command 다이얼로그에 adb 를 입력합니다.

화면과 같이 옵션값들이 보여지면 설정이 올바르게 완료된 것입니다.

 

 

 

adb devices 명령어를 입력하여 현재 PC 에 연결된 스마트폰이 있는지 확인합니다.

현재는 연결된 스마트폰이 하나도 없는 상태임을 보여줍니다.



출처: https://tristan91.tistory.com/388 [개발모음집]

 

 

=================================

=================================

=================================

 

 

 

출처: https://adolchristin.tistory.com/80

 

유니티에서 안드로이드 빌드를 할 때 보면 Script Debugging 이란 항목이 있는데 이는 유니티 에디터에서 MonoDevelop로 스크립트에 중단점 걸어두고 디버깅 하는 것처럼 안드로이드 빌드에서도 스크립트에 중단점을 걸어두고 디버깅 할 수 있게 체크 하는 항목이다.

 

아래 내용은 안드로이드 빌드를 위한 adb 설정, 유니티 에디터에서 sdk 설정, 빌드 셋팅 메뉴에서 Player Settings... 설정이 되어있다는 가정하에 진행하도록 하겠다.

 

안드로이드 스크립트 디버깅을 위해서는 먼저 adb tcpip 명령어로 무선 디버깅 상태로 만들어야 한다.

 

adb tcpip에 관해서는 http://developer.android.com/guide/topics/connectivity/usb/index.html 을 참조 해도 되나 간략하게 적어보자면

1. 안드로이드 기기를 USB로 본체와 연결

2. adb devices 명령어로 안드로이드 기기가 제대로 연결되었는지 확인

3. adb tcpip 5555 명령어로 포트 번호 설정 및 TCP 모드로 전환

4. adb connect xxx.xx.x.xx 명령어로 안드로이드 wifi가 연결된 ip로 접속 (xxx.xx.x.xx는 ip주소)

5. 연결이 완료 되었다면 connected to xxx.xx.x.xx:5555 라고 나올것이다.

6. 안드로이드 기기와 본체의 USB 연결을 해제 한다.

 

※ 이때 중요한 것은 본체(개발 PC)와 안드로이드 기기(wifi)가 동일한 유무선 공유기에 접속하고 있어야 한다!

 

 

위와 같다.

 

안드로이드 기기가 무선 디버깅 상태로 잘 셋팅 되어있다면, usb가 연결 되어있지 않아도 이클립스 Logcat에서 로그가 뜰 것이다.

 

다음으로 유니티에서 안드로이드 빌드를 할 차례인데 이때 Build Settings에서 반드시 Script Debugging에 체크 한 후에 apk 파일을 추출한다

 

 

apk 파일이 추출 됐다면 이제 어플을 실행 시켜보자. 물론 usb는 연결 되어 있지 않은 상태이며, 무선 디버깅 모드 상태이다.

 

어플이 실행 되어있다면 MonoDevelop의 Attach to Process메뉴에서 아래와 같이 현재 연결된 안드로이드 기기가 뜰것이다.

 

 

자신의 안드로이드 기기를 선택하고 Attach를 하면 이제 유니티 에디터에서 처럼 MonoDevelop에서 중단점을 걸어두고 디버깅 할 수 있다.



출처: https://adolchristin.tistory.com/80 [임시저장소]

 

=================================

=================================

=================================

 

 

 

반응형


관련글 더보기

댓글 영역