728x90
과거에 누군가 GitHub에 올린 플러터 소스를 받아서
빌드하는데 에러가 발생하는 경우가 발생하여 해결 방법에 대해 공유 한다
안드로이드 스튜디오 업데이트 후 이런 현상이 발생하며
gradle 버전에서 지원하는 코틀린 버전이 맞지 않아서 생긴다.
디버그 콘솔에 찍히는 실제 에러 메시지는 다음과 같다
Launching lib\main.dart on Android SDK built for x86 in debug mode...
lib\main.dart:1
Exception in thread "main" javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Tag mismatch!
at sun.security.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1533)
at sun.security.ssl.AppInputStream.available(AppInputStream.java:60)
at java.io.BufferedInputStream.available(BufferedInputStream.java:410)
at sun.net.www.MeteredStream.available(MeteredStream.java:170)
at sun.net.www.http.KeepAliveStream.close(KeepAliveStream.java:85)
at java.io.FilterInputStream.close(FilterInputStream.java:181)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.close(HttpURLConnection.java:3527)
at org.gradle.wrapper.Download.downloadInternal(Download.java:77)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:61)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: javax.net.ssl.SSLException: Tag mismatch!
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1022)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:933)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at sun.net.www.MeteredStream.read(MeteredStream.java:134)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3454)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3447)
at org.gradle.wrapper.Download.downloadInternal(Download.java:62)
... 7 more
Caused by: javax.crypto.AEADBadTagException: Tag mismatch!
at com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:592)
at com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1116)
at com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1053)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:941)
at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:491)
at javax.crypto.Cipher.doFinal(Cipher.java:2376)
at sun.security.ssl.CipherBox.decrypt(CipherBox.java:461)
at sun.security.ssl.InputRecord.decrypt(InputRecord.java:172)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1017)
... 16 more
Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)
그래서 소스 내 아래 경로에 있던 gradle 버전을 아래와 같이 버전을 올려줬다.
경로 : 소스\android\gradle\wrapper\gradle-wrapper.properties
- 이전 (4.10.2)
- 변경 (6.7)
gradle-wrapper.properties 소스 코드는 다음과 같다.
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
이후 또 아래 경로에 있는 build.gradle 파일의
코틀린 버전을 다음과 같이 올려준다.
경로 : 소스\android\build.gradle
- 이전 (1.2.71 / 3.2.1)
- 변경 (1.3.50 / 4.1.0)
build.gradle의 소스 코드는 다음과 같다.
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
위와 같이 수정 후 문제없이 빌드를 성공했다!
728x90
'플러터' 카테고리의 다른 글
플러터로 개발한 앱 소개 - GCP-ACE 자격증 덤프 문제 풀이 Google Cloud Platform Associate Cloud Engineer (0) | 2021.09.07 |
---|---|
플러터 앱을 웹으로 전환하는 방법 (미소닭갈비 앱을 웹으로 전환) (0) | 2021.08.02 |
Flutter(플러터) App 개발 - Google Firebase, Firestore 데이터를 리스트뷰 빌더로 호출 (0) | 2021.07.13 |
Android Studio AVD 에뮬레이터 갤럭시 핸드폰 추가 방법 (1) | 2021.07.12 |
비주얼스튜디오코드에서 플러터 앱 개발 환경 세팅하기 (한국어, 패키지 다운로드 등) (0) | 2021.07.10 |