[유니티] 안드로이드 릴리즈 빌드하기

프로그래밍/유니티2018. 5. 10. 00:29

안녕하세요. 개발자 드리머즈입니다.


유니티에서 안드로이드 릴리즈 빌드를 어떻게 하는 걸까 궁금했습니다. 아니 그 전에 릴리즈 빌드와 디버그 빌드의 차이는 뭘까요?


릴리스 준비된 패키지는 디버그 APK 파일과 같은 구성 요소(예: 컴파일된 소스 코드, 리소스, 매니페스트 파일 등)를 포함하고, 같은 빌드 도구를 사용하여 빌드됩니다. 그러나 디버그 APK 파일과 달리 릴리스 준비된 APK 파일은 개발자 고유의 인증서로 서명되고 zipalign 도구로 최적화됩니다.


안드로이드 공식 홈에 위와 같은 간단하지만, 이해가 잘 되는 설명이 있습니다.


릴리즈 빌드하기


유니티의 안드로이드 빌드 세팅에서

Development Build를 해제합니다.



그리고 Player Settings?의 Publishing Settings에서

Keystore 설정을 해줍니다.

(미리 만든 키가 있으면 그 키를 사용하면 되고

키가 없으시다면 새로운 키를 만들어야 함)


이렇게 설정하고 빌드한 apk는 릴리즈 빌드가 되어 마켓에 잘 업로드 됩니다.


디버그 빌드하기

그렇다면 유니티에선 어떻게 디버그 빌드를 할까요?


짐작하셨겠지만 Build Settings에서 Development Build를 체크하면 됩니다.



Development Build를 체크하고 만든 apk를 구글 플레이스토어에 올리려고 하면 위의 에러가 발생합니다.


이로 인해 다음을 알 수 있습니다.

1. 디버그가 가능한 APK가 만들어진다. 매니페스트 파일의 <application> 태그에서 android:debuggable가 true로 설정되어 있음. (이게 디버그 빌드와 동등한 의미는 아닌 것 같아 추가 확인이 필요함)

2. 안드로이드 셋팅에 릴리즈용 키를 설정했음에도 Development Build가 체크되면 APK는 디버그용 키로 사이닝 된다.



그리고 릴리즈 빌드 apk와 디버그 빌드 apk의 용량을 확인해보면 디버그 빌드의 용량이 2배가량 더 큽니다. 안드로이드 공식 홈에서 말하는 zipalign 도구로 최적화의 차이로 보입니다.




참고

안드로이드 공식 홈 apk출시하기 가이드? :https://developer.android.com/studio/publish/preparing#publishing-configure



작성자

Posted by 드리머즈

관련 글

댓글 영역