kotlin: 报错:@OptIn(kotlinx.serialization.InternalSerializationApi::class)

一,报错信息:

e: file:///Users/liuhongdi/StudioProjects/Okdemo2/app/src/main/java/com/example/okdemo2/fragment/ApiService.kt:14:67 
This declaration needs opt-in. Its usage must be marked with '@kotlinx.serialization.InternalSerializationApi' 
    or '@OptIn(kotlinx.serialization.InternalSerializationApi::class)'

 二,解决:

1, 给报错的类或方法加上相应的注解:

例子:

interface ApiService {
    // 用户列表
    @OptIn(InternalSerializationApi::class)
    @GET("/json.php")
    suspend fun userList(@QueryMap map: MutableMap<String, Any>): ApiResponse<UserList>
}

2,如果不想给每个类或方法添加注解,

修改build.gradle.kts,增加:

tasks.withType<KotlinCompile>().configureEach {
    compilerOptions {
        optIn.add("kotlin.ExperimentalStdlibApi")
        freeCompilerArgs.addAll(
            listOf(
                "-Xskip-prerelease-check",
                "-Xsuppress-version-warnings",
                "-Xallow-unstable-dependencies"
            )
        )
    }
}

 

posted @ 2025-09-06 22:07  刘宏缔的架构森林  阅读(8)  评论(0)    收藏  举报