일모도원(日暮途遠) 개발자
[Flutter 오류수정] Missing classes detected while running R8 본문
반응형
플러터앱을 안드로이드용으로 디버그 모드에서 잘 테스트하다가 릴리즈 모드로 컴파일하니 아래 에러가 나온다.
에러코드를 잘 읽어보면 R8을 실행중에 에러가 났는데, 아래클래스들이 Missing class라고 나온다.
com.google.mlkit.vision.text.chinese.ChineseTextRecognizerOptions
com.google.mlkit.vision.text.chinese.DevanagariTextRecognizerOptions
com.google.mlkit.vision.text.chinese.JapaneseTextRecognizerOptions
com.google.mlkit.vision.text.chinese.KoreanTextRecognizerOptions
R8은 Google이 개발했으며, 기존에 사용되던 ProGuard의 대체 도구로 Android Gradle Plugin에 기본적으로 포함되어 있으며, 난독화(難讀化, Obfuscation)와 최적화(最適化, Optimization)등을 해준다.
ERROR: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /Users/dalnimbest/Documents/workspace/Flutter/helpee/build/app/outputs/mapping/helpeeRelease/missing_rules.txt.
ERROR: R8: Missing class cohttp://m.google.mlkit.vision.text.chinese.ChineseTextRecognizerOptions$Builder (referenced from: cohttp://m.google.mlkit.vision.text.TextRecognizer com.google_mlkit_text_recognition.TextRecognizer.initialize(io.flutter.plugin.common.MethodCall))
Missing class cohttp://m.google.mlkit.vision.text.chinese.ChineseTextRecognizerOptions (referenced from: cohttp://m.google.mlkit.vision.text.TextRecognizer com.google_mlkit_text_recognition.TextRecognizer.initialize(io.flutter.plugin.common.MethodCall))
Missing class cohttp://m.google.mlkit.vision.text.devanagari.DevanagariTextRecognizerOptions$Builder (referenced from: cohttp://m.google.mlkit.vision.text.TextRecognizer com.google_mlkit_text_recognition.TextRecognizer.initialize(io.flutter.plugin.common.MethodCall))
Missing class cohttp://m.google.mlkit.vision.text.devanagari.DevanagariTextRecognizerOptions (referenced from: cohttp://m.google.mlkit.vision.text.TextRecognizer com.google_mlkit_text_recognition.TextRecognizer.initialize(io.flutter.plugin.common.MethodCall))
Missing class cohttp://m.google.mlkit.vision.text.japanese.JapaneseTextRecognizerOptions$Builder (referenced from: cohttp://m.google.mlkit.vision.text.TextRecognizer com.google_mlkit_text_recognition.TextRecognizer.initialize(io.flutter.plugin.common.MethodCall))
Missing class cohttp://m.google.mlkit.vision.text.japanese.JapaneseTextRecognizerOptions (referenced from: cohttp://m.google.mlkit.vision.text.TextRecognizer com.google_mlkit_text_recognition.TextRecognizer.initialize(io.flutter.plugin.common.MethodCall))
Missing class cohttp://m.google.mlkit.vision.text.korean.KoreanTextRecognizerOptions$Builder (referenced from: cohttp://m.google.mlkit.vision.text.TextRecognizer com.google_mlkit_text_recognition.TextRecognizer.initialize(io.flutter.plugin.common.MethodCall))
Missing class cohttp://m.google.mlkit.vision.text.korean.KoreanTextRecognizerOptions (referenced from: cohttp://m.google.mlkit.vision.text.TextRecognizer com.google_mlkit_text_recognition.TextRecognizer.initialize(io.flutter.plugin.common.MethodCall))
나는 pubspec.yaml에 최신 google_mlkit_text_recognition버전이 설치 되어있다.
google_mlkit_text_recognition: ^0.14.0
프로젝트/android/app 폴더 밑에 있는 앱모듈의 build.gradle로 간다. android바로 밑이 아니다.
dependencies에서 누락된 클래스들을 추가하고 나니 컴파일이 잘되었다.
dependencies {
implementation 'com.google.mlkit:text-recognition-chinese:16.0.0'
implementation 'com.google.mlkit:text-recognition-devanagari:16.0.0'
implementation 'com.google.mlkit:text-recognition-japanese:16.0.0'
implementation 'com.google.mlkit:text-recognition-korean:16.0.0'
반응형