Ошибка зависимости с Firebase MLKIT Translate (firebase-ml-natural-language-translate-model) - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь реализовать перевод 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");
                }
            });

У кого-нибудь есть предложения по решению этой проблемы?

1 Ответ

0 голосов
/ 19 мая 2019

Из сообщения об ошибке кажется, что вам также необходимо включить:

implementation 'com.google.firebase:firebase-ml-natural-language-translate-model:19.0.0'
...