IronBird 개발일지 #9
Android 빌드 + 실기기 프로파일링 (Galaxy S23+)
Android NDK · APK 패키징 · 실기기 수치 측정 · PC vs 모바일 비교
🎯 목표
PC에서 개발한 IronBird를 Android 기기에서 실행하고, 실기기에서 프로파일링 수치를 측정한다. PC 수치와 비교해 모바일 최적화 효과를 검증한다.
테스트 기기: Galaxy S23+ (SM-S916N) · Android 빌드 타겟: arm64-v8a · 텍스처 포맷: ETC2
🔧 Android 빌드 설정
🔥 트러블슈팅
문제 1. NDK 버전 불일치로 빌드 실패
원인: Android Studio가 설치한 NDK r30이 UE5.7 허용 범위(r27c~r28c)를 초과했다.
해결: SetupAndroid.bat 실행으로 r27c 설치 후 Project Settings에서 NDK 경로를 r27c로 직접 지정.
문제 2. Platform Android is not a valid platform to build
원인: UE5 엔진에 Android 플랫폼 지원 파일이 설치되지 않았다. NDK와 별개로 Epic Games Launcher에서 추가 설치가 필요하다.
해결: Epic Games Launcher → UE 5.7 옵션 → 대상 플랫폼 → Android 체크 → 설치 (약 9GB).
문제 3. 모바일에서 게임오버 터치 입력 안됨
원인: PC에서는 GetMousePosition으로 좌표를 가져왔지만 모바일 터치는 다른 입력 경로를 사용한다.
해결: BindTouch로 터치 좌표를 받아서 버튼 Rect와 비교하는 방식으로 변경.
void OnTouchPressed(ETouchIndex::Type FingerIndex, FVector Location)
{
float TouchX = Location.X;
float TouchY = Location.Y;
// 버튼 Rect와 비교
}
문제 4. 첫 실행 시 간헐적 크래시
원인: 첫 실행 시 기기에서 셰이더를 컴파일하면서 메모리 spike 발생. 두 번째 실행부터는 캐시된 셰이더를 사용해 정상 작동.
결론: 데모 시연 시 사전에 한 번 실행해두면 문제없음.
📊 실기기 프로파일링 결과
측정 방법: Development 빌드 콘솔(stat fps / stat unit)로 실기기에서 직접 측정


핵심 결과: PC에서 Draws 252였던 것이 모바일에서 34로 측정됐다. PC stat 수치가 모바일 실제 렌더링 구조를 반영하지 못한다는 것을 확인했다. 모바일 최적화는 반드시 실기기에서 검증해야 한다.
💡 배운 것
• Android 빌드는 NDK 버전과 엔진 플랫폼 파일 두 가지가 모두 맞아야 한다. 하나만 설치해서는 빌드가 안 된다.
• PC stat 수치와 모바일 실측 수치는 완전히 다르다. PC Draws 252가 모바일에서 34로 나왔다. PC에서 최적화 효과가 미미해도 모바일에서 효과가 클 수 있다.
• 터치 입력은 마우스 입력과 경로가 다르다. GetMousePosition 대신 BindTouch로 별도 처리해야 한다.
• 첫 실행 셰이더 컴파일은 모바일 개발의 공통 이슈다. 데모 시연 전 사전 실행으로 캐시를 만들어두는 것이 필요하다.
• Android Multi 빌드로 OpenGL ES3.2와 Vulkan을 동시에 지원할 수 있다. 기기가 자동으로 지원하는 렌더러를 선택한다.
🏁 IronBird 시리즈 마무리
추가 예정: Google Play Store 출시 진행 중. 심사 완료 후 링크 업데이트 예정.
'개인프로젝트 > IronBird' 카테고리의 다른 글
| [IronBird #8] 드로우콜 최적화 시도 - PC 프로파일링 결과 분석 (0) | 2026.06.05 |
|---|---|
| [IronBird #7] BGM + 이펙트 + 하트 아이템 + 틸팅 + UMG 메인화면 (0) | 2026.06.02 |
| [IronBird #6] 메인화면 + 점수 시스템 + 게임오버/클리어 (0) | 2026.05.28 |
| [IronBird #5] 보스 페이즈 + 적 3종류 + 충돌 시스템 구현 (0) | 2026.05.28 |
| [IronBird #4] 적 스폰 시스템 구현 (0) | 2026.05.28 |