현재 Emulator 들이 OpenGL ES3.2 지원을 하지 않아서 직접 모바일 기기를 연결하여 사용해서 디버깅 합니다.
프로젝트 파일 디버깅

안드로이드 스튜디오에서 File - Open 에서 프로젝트 Intermediate 폴더안의 gradle 을 선택하여 프로젝트를 오픈합니다.

Run - Edit Configuration 을 선택합니다.
프로젝트를 오픈하고 검은색으로 표시한 화면이 나올 때 까지 시간이 좀 걸릴 수 있습니다.

Debugger 탭에서
Debug type을 Dual로 선택하고
LLDB Startup Commands 탭에서
엔진폴더\Extras\LLDBDataFormatters\UEDataFormatters_2ByteChars.py 를 추가해 줍니다.
파일은 놀랍게도 안드로이드 스튜디오에 직접 끌어다 놓고 중단점을 찍습니다.
그리고 Debug로 실행하면 중단점이 찍히는 것을 확인할 수 있습니다.
패키징 파일 (.apk) 디버깅
언리얼 에서 .apk 파일을 데스크탑에서 뽑고 안드로이드 스튜디오에서 Profile or Debug APK 를 선택합니다.


ProjectName_universal.apk 파일을 선택합니다.
파일을 열면 C:\Users\사용자이름\ApkProjects\프로젝트이름_universal 에 ApkProjects가 생성됩니다.
그리고 안드로이드 스튜디오를 열면 다음과 같이 생성되고

cpp - libUnreal - libUnreal.so 파일을 더블클릭 해줍니다.
그리고 Add 버튼을 눌러 Client/Binaries/Android/ProjectName_Symbols_v1/ProjectName-비트/Unreal.so 파일을 선택해줍니다.
혹시 Client\Binaries\Android\ProjectName_Symbols_v1 폴더가 생기지 않는다면

해당 옵션을 체크하고 다시 패키징 해보시길 바랍니다.
추가가 되었으면 프로젝트 소스코드와 엔진코드가 뜨면은 정상적으로 잘 추가된 겁니다.

그리고 디버깅 하고 싶은 파일에 중단점을 찍은 다음에

USB 로 연결되어있는 핸드폰을 선택한 후 디버깅 하면 정상적으로 BreakPoint가 걸립니다.


이 때, USB로 연결된 핸드폰으로 디버깅을 할 때, 같은 프로젝트의 어플리케이션이 폰에 설치되어있으면 안됩니다.
https://developer.android.com/studio/intro/keyboard-shortcuts?hl=ko
(안드로이드 스튜디오에서는 F9 가 VS의 F5)
Visual Studio 에서 디버깅
( Debug / DebugGame 등) Android 로 실행구성을 변경한다.
해당 설정으로 실행, Android Game Development Process가 실행된다.
실행이 안되면 출력 부분에서 로그를 잘 확인해 봐야한다.
SDK Lincenses 오류 -> 필자같은경우 %ANDROID_HOME% 가 잘못되어있었다. (licenses 폴더를 찾는곳에 놔야한다 기본적으로 C:\Users\{사용자}\AppData\Local\Android\Sdk
)
이상하게 필자는 시스템 환경변수에 설정되어있는 값이랑 달랐다. echo %ANDROID_HOME%
으로 확인해보자
Failed to Open descriptor file .. 에러 발생하였을 때
-> 안드로이드 패키징을 하게 되면 .gradle 파일 및 쿠킹된 에셋들이 Intermediate / Saved 폴더안에 저장되어 있기 때문에 한 번 패키징 과정을 거쳐주어야 정상적으로 작동한다. (변경된 코드만 빌드하고 이전에 패키징 되었던 에셋 및 디버깅 심볼을 가져오는 듯)
'언리얼 > Android' 카테고리의 다른 글
Android SDK / AAB / Keystore (0) | 2024.08.14 |
---|---|
언리얼 구글 연동 (2) | 2024.08.09 |
Google Play Console (0) | 2024.08.06 |
UE5 안드로이드 환경 세팅 (0) | 2023.05.15 |