본문 바로가기
Study/Flutter

[Flutter] 빌드 오류, 컴파일 오류시 해결법

1.  FAILURE: Build failed with an exception.

빌드문제는 상당히 종종 자주 나타난다.

또한 원인은 다양한데, 해결을 위한 진단 과정이 까다롭다.

하나하나 체크해봐야한다.

 

요런 빌드에러

 

1) flutter doctor

> flutter doctor

기본적인 구성환경을 점검해주므로 여기서 문제가 나타나면 해당 문제를 검색하여 해결해야한다.

 

2) flutter upgrade

> flutter upgrade

시시각각 바뀌는 플러터 버전에 따른 의존성이 있어, 에러가 발생할 수 있다.

라이브러리 하나를 가져다 쓰더라도 의존성을 잘 봐가면서 추가해야하지만,

빠른 개발을위해 사용하다보면, 체크를 잊곤하므로, upgrade를 하자.

 

3) flutter clean  &  gradlew clean build

> flutter clean 
> gradlew clean build
> pub get

 

4) gradle 버전 확인

필자는 이번에 Andriod Sdk 버전과 gradle 버전문제가 있었다.

permisson_handler가 반드시 Andriod Sdk  33이상에서 구동되므로 API버전이 33이 필요했는데,

32를 쓰는과정중에 permisson_handler 10.2.0으로 자동 업데이트 되면서,

해당 라이브러리안에서 문제가 야기되었다.

 

버전 문제 해결은 아래글을 참고

https://jjunii486.tistory.com/306

 

Flutter] gradle 오류 해결

https://maven.google.com/web/index.html?q=om.android.tools.build#com.android.tools.build:gradle Google's Maven Repository Welcome to Google's Maven Repository Select an artifact in the left hand pane to view details Artifacts ({{selectedNode.subnode.length

jjunii486.tistory.com

 

 

 

2.  ADB exited with exit code 1 

ADB는 안드로이드 디버그 브릿지 의 약자로, 

보통 에뮬레이터 / 디바이스에 문제로 컴파일이 되지 않는 에러이다.

Launching lib\main.dart on SM S901N in debug mode...
Running Gradle task 'assembleDebug'...
√  Built build\app\outputs\flutter-apk\app-debug.apk.
Installing build\app\outputs\flutter-apk\app.apk...
Error: ADB exited with exit code 1
Performing Streamed Install

adb: failed to install C:\Users\bang\AndroidStudioProjects\Lottery_Bang\build\app\outputs\flutter-apk\app.apk:
Error launching application on SM S901N.

 

Run 시, 위와 같은 에러가 터지면서 설치가 안될때가 있다.

그럴때마다 필자는 앱을 지웠다가 다시 Run을 통해, 재 설치하였는데,..

이제는 지워도 되지 않았다..

1. 에뮬레이터

1) 에뮬 공간 늘리기

위와 같이 내부 저장 공간을 늘려서 해결될 수 있다.

 

2) 에뮬 초기화

Device Manager 에 Wipe Data 를 통해 사용자 데이터를 초기화 합니다

 

3) 안드로이드 API 버전

현재 내가 개발하는 앱의 최소 api버전이 높아서

현재 에뮬레이터 버전에 지원되지 않는 앱으로 개발됬을 수 있다. 

이럴 때는 새로 더 높은 API 버전으로 에뮬을 만들어 쓰자.

  

 

2. 폰 연결시

폰을 연결하여 아래 명령어를 수행하자. 해당 패키지를 완전히 제거하여 재설치를 돕는다.

cmd > adb uniinstall "패키지명"

패키지명은 andriod 폴더내에 build.gradle 안에서

com.xxx.xxx  형식으로 본인이 지정했던 이름을 찾을수 있다.

 

확인 해야할 것

 

1) MIDI 연결

MIDI 연결 외에 파일 전송으로는 생성된 apk파일을 설치할 수 없다.

 

2)  flutter clean

앱의 build 내용을 전부 삭제하여 

다시 처음부터 라이브러리 설치후 빌드를 해보자

> flutter clean
Deleting build...                                                   3.6s
Deleting .dart_tool...                                              37ms
Deleting Generated.xcconfig...                                       1ms
Deleting flutter_export_environment.sh...                            1ms
Deleting .flutter-plugins-dependencies...                            0ms
Deleting .flutter-plugins...                                         1ms

 

 

3)  앱 삭제 여부

앱이 남아있어서 버전문제와 의존성문제 등으로 설치가 어려울수 있다.

앱이 보인다면 삭제하거나, 위에 나와있는 cmd 명령어를 Terminal에서 수행하자.