음성인식 API 실행시 JNI 에러가 발생하여 문의 드립니다.
초기화는 정상적으로 되었고 음성 인식하기(STT), 음성 합성하기(TTS) 모두 실행시 JNI 에러가 나오고 있습니다.
특이한 것이 제공되는 샘플 앱 기준으로 간단하게 테스트 앱을 만들어 확인했을 때는 이상없이 동작을 하는데
서비스 되고 있는 앱에 추가하였을 때 에러가 발생을 합니다.
참고로 이 앱은 proguard 가 적용되어 있습니다.
적용 버전은 아래와 같습니다.
implementation ‘com.kakao.sdk:newtone:6.1.4’
에러 메시지는 아래와 같습니다.
-
음성 합성하기(TTS)의 경우
java_vm_ext.cc:570] JNI DETECTED ERROR IN APPLICATION: JNI GetObjectField called with pending exception java.lang.NoSuchFieldError: no “Ljava/lang/String;” field “mHost” in class “Lcom/dialoid/speech/tts/TextToSpeech;” or its superclasses
java_vm_ext.cc:570] at boolean com.dialoid.speech.tts.TextToSpeech.makeTTSDataJNI(android.content.pm.PackageInfo) (SourceFile:-2)
java_vm_ext.cc:570] at boolean com.dialoid.speech.tts.TextToSpeech.n() (SourceFile:352)
java_vm_ext.cc:570] at boolean com.kakao.sdk.newtoneapi.TextToSpeechClient.play() (SourceFile:338)
java_vm_ext.cc:570] at boolean com.kakao.sdk.newtoneapi.TextToSpeechClient.play(java.lang.String) (SourceFile:355) -
음성 인식하기(STT)의 경우
java_vm_ext.cc:578] JNI DETECTED ERROR IN APPLICATION: JNI GetObjectField called with pending exception java.lang.NoSuchFieldError: no “Ljava/lang/String;” field “mHost” in class “Lcom/dialoid/speech/recognition/SpeechRecognizer;” or its superclasses
java_vm_ext.cc:578] at boolean com.dialoid.speech.recognition.SpeechRecognizer.startListeningJNI(android.content.pm.PackageInfo) (SourceFile:-2)
java_vm_ext.cc:578] at boolean com.dialoid.speech.recognition.SpeechRecognizer.A() (SourceFile:492)
java_vm_ext.cc:578] at boolean com.kakao.sdk.newtoneapi.SpeechRecognizerClient.startRecording(boolean) (SourceFile:482)
테스트는 삼성폰과 엘지폰에서 하였습니다.
JNI 에러 관련하여 체크해야 할 부분이 있으면 답변 부탁 드립니다.
감사합니다.