Я пытаюсь реализовать перевод Firebase MlKit в моем приложении.
Я уже добавил языковую зависимость Firebase в мой файл Gradle
implementation 'com.google.firebase:firebase-ml-natural-language:19.0.0'
implementation 'com.google.firebase:firebase-ml-natural-language-language-id-model:19.0.0'
После этого я последовал примеру в документации Firebase: Перевести текст с помощью Ml Kit на Android
Когда я запускаю свое приложение, я получаю следующую ошибку
E/ModelResourceManager: Error preloading model resource
com.google.firebase.ml.common.FirebaseMLException: Couldn't load translate native code library. Please check your app setup to include the firebase-ml-natural-language-translate-model dependency
at com.google.firebase.ml.naturallanguage.translate.internal.TranslateJni.zzck(Unknown Source:12)
at com.google.firebase.ml.naturallanguage.translate.FirebaseTranslator$zza.zzck(Unknown Source:8)
at com.google.android.gms.internal.firebase_ml_naturallanguage_translate.zzdj.zzf(Unknown Source:56)
at com.google.android.gms.internal.firebase_ml_naturallanguage_translate.zzdl.zzcs(Unknown Source:7)
at com.google.android.gms.internal.firebase_ml_naturallanguage_translate.zzdl.call(Unknown Source:24)
at com.google.android.gms.internal.firebase_ml_naturallanguage_translate.zzdd.zza(Unknown Source:29)
at com.google.android.gms.internal.firebase_ml_naturallanguage_translate.zzdc.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.google.android.gms.internal.firebase_ml_naturallanguage_translate.zzb.dispatchMessage(Unknown Source:6)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
Вот мой код:
FirebaseTranslatorOptions firebaseTranslatorOptions = new FirebaseTranslatorOptions.Builder()
.setSourceLanguage(FirebaseTranslateLanguage.EN)
.setTargetLanguage(FirebaseTranslateLanguage.ES)
.build();
final FirebaseTranslator firebaseTranslator = FirebaseNaturalLanguage.getInstance().getTranslator(firebaseTranslatorOptions);
FirebaseModelDownloadConditions firebaseModelDownloadConditions = new FirebaseModelDownloadConditions.Builder().build();
firebaseTranslator.downloadModelIfNeeded(firebaseModelDownloadConditions)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
textView.setText("Model downloaded");
firebaseTranslator.translate("Hello")
.addOnSuccessListener(new OnSuccessListener<String>() {
@Override
public void onSuccess(String s) {
textView2.setText(s);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
textView2.setText(e.getMessage());
}
});
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
textView.setText("Download failed");
}
});
У кого-нибудь есть предложения по решению этой проблемы?