말랑한 하루
[Flutter] (Project) MapleApp: 28. 예외 처리 작업-마무리 본문
모든 예외를 처리했다고 생각했으니, 앞으로의 개선사항과 오류 및 버그사항은 앱 테스트가 실질적으로 이루어질 때 진행하려 한다. 그래서 이번 시간에는 정상적으로 apk가 만들어지는지 실제 폰에선 잘 다운로드하여 작동하는지 검증하는 시간을 가지려 한다.
🐇 Build mode
🥕 성능분석 profile mode
🥕 출시 준비 release mode
최대 최적화 및 최소 설치 공간 크기를 원하는 경우 앱 배포를 위해 사용합니다. 모바일의 경우 릴리즈 모드는 다음을 의미합니다.(에뮬레이터에서는 지원되지 않음)
🍒 Assertion이 비활성화 되었습니다.
🍒 디버깅 정보가 제거되고, 디버깅이 비활성화 됩니다.
🍒 컴파일은 빠른 시작/실행 및 작은 패키지 크기에 최적화되어 있습니다.
🍒 서비스 확장이 비활성화 되었습니다.
다음 명령어를 통해 컴파일할 수 있습니다.
flutter run --release
🐇 APK build
※ reference : https://docs.flutter.dev/deployment/android#build-an-apk
flutter build apk
flutter build apk --release --target-platform=android-arm64
flutter build apk --split-per-abi
🍒 --release
🍒 --split
🐇 Application Test
가볍게 테스트하고, 중간 점검을 하기 위해 apk를 만들었다. 실제 폰에서는 어떻게 동작했는지 서술해보려 한다.
🥕 WidgetsFlutterBinding.ensureInitialized
※ reference : https://api.flutter.dev/flutter/widgets/WidgetsFlutterBinding/ensureInitialized.html
runApp을 호출하기 전 바인딩을 초기화 해야 하는 경우 메서드를 호출합니다. 그 전 async/await가 있다면 필수적으로 진행해 주는 것도 좋은 방법이라고 합니다.
저는 dotenv를 활용하고 있었기 때문에 동작에 어떻게 영향을 주는지 정확히 파악하지 않았지만, ensureInitialized의 내용을 보고 추가로 작성해 주었습니다.
🥕 AndroidManifest
안드로이드에서 가장 기본이 되는 파일입니다. 사용자로 하여금 필수 권한을 요청하는 내용을 담고 있습니다. 가장 기본적으로 앱에서 http 통신을 진행할 때 필요한 속성은 다음과 같습니다.
🍒 <uses-permission android:name="android.permission.INTERNET"/>
이 속성이 없는 경우, 애플리케이션의 http 통신은 이루어지지 않습니다. flutter project의 android/app/src 내의 debug/profile 폴더의 manifest에는 존재하지만, 애플리케이션의 기본이 되는 main 폴더의 manifest에는 존재하지 않는 구문입니다.
따라서, http 통신이 정상적으로 작동하도록 만들기 위해 android/app/src/main/AndroidManifest.xml 폴더의 manifest tag 안 그리고 application tag 밖에 위치하도록 위 구문을 삽입해야 합니다.
이로써 내가 설계한 모든 부분이 정상적으로 작동함을 인지할 수 있었다. 내부 화면에서 몇 부분이 현재 화면보다 큰 경우 SingleChildScorllView가 진행되지 않는 부분은, 외부에 Conatiner를 Center로 둠으로써 해결했다. 앞으로는 배포 전 준비는 어떻게 하는지, 앱 스토에 등록은 어떻게 하는지 정리해보려한다.
'개발 > Flutter' 카테고리의 다른 글
[Flutter] (Project) MapleApp: 30. 리젝 (1) | 2024.01.25 |
---|---|
[Flutter] (Project) MapleApp: 29. 배포 전 준비 (0) | 2024.01.24 |
[Flutter] (Project) MapleApp: 27. 예외 처리 작업-6 (0) | 2024.01.22 |
[Flutter] (Project) MapleApp: 26. 예외 처리 작업-5 (0) | 2024.01.21 |
[Flutter] (Project) MapleApp: 25. 예외 처리 작업-4 (0) | 2024.01.20 |