새벽의 기록

[Flutter] 플러터 apk 파일 만들기 본문

[Flutter]

[Flutter] 플러터 apk 파일 만들기

OneTen 2023. 12. 13. 10:23

터미널에 아래 코드들을 입력하면 된다.

flutter build apk --release --target-platform=android-arm64

flutter build apk --debug --target-platform=android-arm64

 

release 버전이 출시용 버전인데, 출시 전에 꼭 본인이 직접 다운받아 써보길 바란다.

 

평소에 개발하면서 사용하는 debug 버전에서는 정상적으로 작동되지만 release 버전에서는 에러가 나는 경우가 허다하기 때문.

 

디버그 모드

- 실행파일에 디버깅 정보를 삽입하여 언제든지 디버깅을 할 수 있도록 하며 Debug 서브 폴더에 실행파일을 만들어줌.
- 디버깅 정보가 들어가 있기 때문에 실행파일 상태를 확인할 수 있다.
- 디버그 빌드와 릴리즈 빌드에서 서로 실행 결과가 다른 경우 ->
특히 디버그 빌드에서는 괜찮은데 릴리즈 빌드에서만 오류가 발생하여 앱이 죽는 경우가 있는데,
이런 경우는 대부분 메모리가 깨진 경우 발생.
(두 모드에서 동적으로 메모리를 할당하면 힙 영역에 요청한 크기만큼 메모리를 할당받게 되는데 그 초기값이 다르다.)

 

릴리즈 모드

- 초기화 하지 않는다.
- 같은 문자열 상수라도 서로 다른 공간에 할당.
- 디버깅 정보를 삽입하지 않고 코드를 최적화하여 실행 파일 크기를 최대한 줄여준다.
- 속도나 크기면에서 월등히 유리 (메모리 점유율 낮아지고 실행도 빨라짐)
- 더 이상 현재버전에서 내결함성이나 문제점들을 발견할 수 없었을 때 빌드하여 주는 모드.

 

디버그 모드 vs 릴리즈 모드

- 디버깅 정보를 실행코드 안에 넣냐 안 넣냐가 차이점. 
- 디버그 모드로 컴파일하게 되면 실행상태에서 추적할 수 있는 정보가 실행파일 안에 들어가게 되므로 용량이 커지고, 릴리즈 모드의 경우 디버깅 정보 없이 순수한 소스코드 자체의 기능만 컴파일되어 실행파일로 만들어진다.
- 즉 디버그 모드는 에러난 파일과 로깅 확인 가능. 릴리즈 모드는 기본적으로 불가.

 

 

 

Comments