You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Kotlin MLKit翻译库异常:翻译文本为Null且日志报版本警告

MLKit文本翻译返回Null问题排查与解决

我在Android Kotlin项目中使用MLKit进行文本翻译,运行时无直接错误,但翻译结果始终为Null,相关日志如下:

W/LibraryVersion: Failed to get app version for libraryName: shared-installation-id 
D/TransportRuntime.JobInfoScheduler: Scheduling upload for context TransportContext(cct, VERY_LOW, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy5nb29nbGVhcGlzLmNvbS92MGNjL2xvZy9iYXRjaD9mb3JtYXQ9anNvbl9wcm90bzNc) with jobId=-653056373 in 86400000ms(Backend next call timestamp 0). Attempt 1 
W/LibraryVersion: Failed to get app version for libraryName: shared-remote-config 
D/MLKit RemoteConfigRestC: Got remote config. 
I/TetheringManager: registerTetheringEventCallback:com.example.agrithonapp 
D/TransportRuntime.SQLiteEventStore: Storing event with priority=VERY_LOW, name=FIREBASE_ML_SDK for destination cct 
D/TransportRuntime.JobInfoScheduler: Upload for context TransportContext(cct, VERY_LOW, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy5nb29nbGVhcGlzLmNvbS92MGNjL2xvZy9iYXRjaD9mb3JtYXQ9anNvbl9wcm90bzNc) is already scheduled. Returning... 
D/TransportRuntime.SQLiteEventStore: Storing event with priority=VERY_LOW, name=FIREBASE_ML_SDK for destination cct 
D/TransportRuntime.JobInfoScheduler: Upload for context TransportContext(cct, VERY_LOW, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy5nb29nbGVhcGlzLmNvbS92MGNjL2xvZy9iYXRjaD9mb3JtYXQ9anNvbl9wcm90bzNc) is already scheduled. Returning... 
D/TransportRuntime.SQLiteEventStore: Storing event with priority=VERY_LOW, name=FIREBASE_ML_SDK for destination cct 
D/TransportRuntime.JobInfoScheduler: Upload for context TransportContext(cct, VERY_LOW, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy5nb29nbGVhcGlzLmNvbS92MGNjL2xvZy9iYXRjaD9mb3JtYXQ9anNvbl9wcm90bzNc) is already scheduled. Returning... 
D/TransportRuntime.SQLiteEventStore: Storing event with priority=VERY_LOW, name=FIREBASE_ML_SDK for destination cct 
D/TransportRuntime.JobInfoScheduler: Upload for context TransportContext(cct, VERY_LOW, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy5nb29nbGVhcGlzLmNvbS92MGNjL2xvZy9iYXRjaD9mb3JtYXQ9anNvbl9wcm90bzNc) is already scheduled. Returning... 

排查与解决步骤

  • 确认翻译模型已成功下载
    MLKit离线翻译依赖对应语言对的模型,若模型未下载或下载失败,翻译会返回Null。添加模型下载监听,确认状态:

    val translatorOptions = TranslatorOptions.Builder()
        .setSourceLanguage(TranslateLanguage.ENGLISH)
        .setTargetLanguage(TranslateLanguage.CHINESE)
        .build()
    val translator = Translation.getClient(translatorOptions)
    
    val downloadListener = object : ModelDownloadListener {
        override fun onModelDownloaded(conditions: ModelDownloadConditions?) {
            // 模型就绪,可执行翻译
        }
    
        override fun onModelDownloadFailed(conditions: ModelDownloadConditions?, e: Exception?) {
            e?.printStackTrace() // 打印下载失败原因
        }
    }
    
    translator.downloadModelIfNeeded(ModelDownloadConditions.Builder().build())
        .addOnSuccessListener { /* 下载完成回调 */ }
        .addOnFailureListener { it.printStackTrace() }
    
  • 校验输入文本合法性
    确保传入翻译的文本非空且非空白,空输入会导致MLKit返回Null:

    val input = "需要翻译的文本"
    if (input.isBlank()) {
        // 处理空输入逻辑
        return
    }
    
    translator.translate(input)
        .addOnSuccessListener { result ->
            // 处理翻译结果
        }
        .addOnFailureListener { it.printStackTrace() }
    
  • 检查依赖与配置正确性
    确认MLKit翻译依赖版本兼容,避免版本冲突:

    dependencies {
        implementation 'com.google.mlkit:translate:17.0.1'
    }
    

    同时确保google-services.json已正确放置在项目根目录,且与Firebase项目绑定。

  • 处理日志中的警告信息
    日志中Failed to get app version警告需确保AndroidManifest.xml中正确配置应用版本:

    <manifest ...>
        <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34" />
        <application ...>
            <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
        </application>
    </manifest>
    

    至于TransportRuntime相关日志,属于Firebase传输组件的正常调度逻辑,不会影响翻译功能,可忽略。

内容的提问来源于stack exchange,提问作者Malhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:43:14