일모도원(日暮途遠) 개발자

[Flutter 오류수정] Missing classes detected while running R8 본문

Flutter/오류수정

[Flutter 오류수정] Missing classes detected while running R8

달님개발자 2025. 1. 18. 08:48
반응형

 

플러터앱을 안드로이드용으로 디버그 모드에서 잘 테스트하다가 릴리즈 모드로 컴파일하니 아래 에러가 나온다. 

 

 

에러코드를 잘 읽어보면 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'
반응형