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

Android Studio构建Protobuffer/Kotlin项目时出现Unresolved reference: option错误

解决Android Studio中Protobuf配置Unresolved reference: option错误

我使用Android Studio Koala Feature Drop | 2024.1.2 Patch 1版本搭建简单Protobuf应用,同步项目时出现Unresolved reference: option错误,报错行是Gradle配置里的option("lite"),尽管IDE自动提示了这段代码。

相关Gradle配置片段如下:

插件配置(模块级build.gradle.kts)

import com.google.protobuf.gradle.*

plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.kotlin.android)
    id("com.google.protobuf") version "0.9.3"
}

sourceSets配置(模块级build.gradle.kts)

sourceSets{
    getByName("main") {
        kotlin {
            srcDirs("src/main/kotlin")
        }
        proto {
            srcDir("src/main/proto")
        }
    }
}

依赖配置(模块级build.gradle.kts)

dependencies {
    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.lifecycle.runtime.ktx)
    implementation(libs.androidx.activity.compose)
    implementation(platform(libs.androidx.compose.bom))
    implementation(libs.androidx.ui)
    implementation(libs.androidx.ui.graphics)
    implementation(libs.androidx.ui.tooling.preview)
    implementation(libs.androidx.material3)
    implementation(libs.protobuf.kotlin.lite)
}

Protobuf核心配置(模块级build.gradle.kts)

protobuf{
    protoc {
        artifact = "com.google.protobuf:protoc:3.22.2"
    }

    generateProtoTasks {
        all().forEach { task ->
            task.builtins {
                kotlin{
                    option("lite")
                }
            }
        }
    }
}

我已经尝试过两篇Stack Overflow的解决方案,但问题仍未解决。


可行修复方案

1. 升级Protobuf Gradle插件版本

当前使用的0.9.3版本与Android Studio Koala对应的Gradle 8.2+存在兼容性问题,建议升级到最新稳定版(如0.9.4):

id("com.google.protobuf") version "0.9.4"

2. 修正Kotlin内置生成器的配置写法

新版插件中,builtins块内的Kotlin配置需要明确调用create方法,修改Protobuf配置块:

protobuf{
    protoc {
        artifact = "com.google.protobuf:protoc:3.22.2"
    }

    generateProtoTasks {
        all().forEach { task ->
            task.builtins {
                create("kotlin") {
                    option("lite")
                }
            }
        }
    }
}

3. 确保Protobuf依赖版本与protoc版本一致

检查libs.protobuf.kotlin.lite的版本是否和protoc的3.22.2匹配,若使用版本目录(libs.versions.toml),需对应设置:

[versions]
protobuf = "3.22.2"

[libraries]
protobuf-kotlin-lite = { module = "com.google.protobuf:protobuf-kotlin-lite", version.ref = "protobuf" }

4. 同步并清理项目

修改配置后执行以下操作:

  • 点击Android Studio右上角的「Sync Project with Gradle Files」
  • 依次执行Build > Clean Project和Build > Rebuild Project

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 21:42:48