coding etude
[flutter error] Error connecting to the service protocol: 본문
프로젝트 생성 후 처음 시뮬레이터로 디버깅 모드 실생 했을 때 처음 보는 에러가 발생 했다...뭐지..?!
발생 원인
검색 해보니 이유는 특정되지 않지만 원인은 빌드과정에서 문제가 발생하는듯 하다.(너무 뻔한가..)
1. 시뮬레이터와 연결되기전에 앱이 너무 빨리 종료되서 발생.
2. 기존 작업하던 다른 앱의 cache가 남아 있을 때 발생.
3. android 시뮬레이터일 경우 Quick boot를 사용하면 간혹 발생.
4. 에러에 나오는 port 에 이미 다른 작업이 진행 되고 있을 때 발생.
5. IDE 또는 pc(or 노트북) 의 vm 에 일시적 오류일 떄 발생.
6. flutter 의 package가 오류를 낼때 발생.
모든 해결 방법을 살펴 보자.
방법 1 : 기존 기록 삭제 하기 / 기존 cache 제거 하기
flutter clean
flutter pub get
실행 후 안된다면 캐쉬도 삭제해 보자.
Android studio > File > Invalidate Caches 실행.
방법 2 : android 시뮬레이터 새로 생성해 보기
문제가 android 시뮬레이터에서 발생 한다면, 시뮬레이터 삭제 후 새로 생성 할 때 boot 항목을 cool boot로 설정해 주고 생성.
방법 3 : port정보를 확인 하기
실행 되는 port정보를 확인 한 후 사용중인 내용 멈추기
터미널 : lsof -i :포트번호
* 정보가 안나오면 port 문제는 아님.
* 정보가 나온다면 해당 port를 죽이고 다시 실행해 봐야함.
* port 정보의 pid 번호 확인.
터미널 : kill -9 PID
방법 4 : package 오류 확인해 보기
가장 쉬운 재부팅. 해결되면 다행이지만 안된다면 마지막으로 빌드과정에서 package에 오류 일 가능성이 가장 높음.
flutter run -v
앱 빌드과정의 log를 확인 할 수 있다. 어느 package에서 오류가 나오는지 확인이 가능하다.
하지만 너무 많은 내용이 지나가고 사람인지라 log내용을 못보거나 분석 못하거나 할 수 있다.
본인의 경우 log에서 google-moblie-ads가 빌드되는 과정에서 뭔가 오류가 발생하고 넘어가는 로그를 찾았다.
나중에 사용할 거라 생각없이 추가 했었는데, 패키지가 빌드되면서 그 설정값이 없어서 발생하는 오류 같았다.
그래서 패키지를 삭제했더니 다행히 정상 작동 했다.
이 오류가 갑자기 발생한다면 패키지의 오류일 가능성이 가장 크다고 생각이 된다.
내가 설치한 패키지가 최신 버전인지, 설치하고 설정을 정확히 해줬는지, 아니면 현재 deprecated 상태가 아닌지, 비슷한 패키지와 충돌이 나고 있는건 아닌지 여러방면으로 확인해 봐야 할것 같다.
끝.
'Flutter(Dart)' 카테고리의 다른 글
[Architecture] Clean Architecture의 이해(2) (1) | 2025.07.31 |
---|---|
[Architecture] Clean Architecture 의 이해(1) (1) | 2025.07.31 |
[android] build.gradle의 버전 세팅하기 (5) | 2025.07.30 |
[Admob] admob bannerAd 로드 및 UI 구현하기 (0) | 2025.03.09 |
[fastlane] FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT (0) | 2025.01.04 |