android - 创建了一个新模块但扩展函数显示错误 : Cannot access 'java.io.Serializable' which is a supertype of 'kotlin.String'

标签 android kotlin module

创建了一个新的 android 项目,然后我向其中添加了一个新模块。我的想法是将我所有的网络调用和序列化分离到一个单独的模块中。

模块是通过右键单击项目 > 新建 > 模块 > Java 或 Kotlin 库 创建的。这添加了一个新模块,但是所有适用于字符串的扩展函数都显示错误:

无法访问作为“kotlin.String”父类(super class)型的“java.io.Serializable”。检查您的模块类路径是否存在缺失或冲突的依赖项

我的新模块 build.gradle 是:

plugins {
    id 'java-library'
    id 'kotlin'
    id 'org.jetbrains.kotlin.plugin.serialization' version '1.5.31'
}

java {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
}

dependencies {
    implementation("com.squareup.okhttp3:okhttp:5.0.0-alpha.2")
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0")
    implementation("com.squareup.okhttp3:logging-interceptor:4.9.2")
    testImplementation 'junit:junit:4.13.2'
}

和一个有错误的类:

package com.example.lib

import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody

class MyClass {
    private val client = OkHttpClient()

    fun makeRequest() {
        val randomVariable = "lowercase letters".uppercase()

        val request = Request.Builder()
            .get()
            .url("https://stackoverflow.com/")
            .build()

        val response = client.newCall(request).execute().body?.string()!!
    }
}

enter image description here

我尝试过使缓存无效、清理 .gradle 缓存、重启、为 Gradle JDK 使用 Java 8 和 Java 11 但没有成功...

最佳答案

删除 ~/Library/Application Support/Google/AndroidStudioPreview20XX.X/options/jdk.table.xml 文件修复了这个问题。

这也是这个 https://issuetracker.google.com/issues/213131387 的问题

关于android - 创建了一个新模块但扩展函数显示错误 : Cannot access 'java.io.Serializable' which is a supertype of 'kotlin.String' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69816003/

相关文章:

java - 确保不调用特定方法的自定义 lint 规则

android-studio - 在kDoc中使用@link和别名

c++ - 如何从数据缓冲区执行 x86 命令?

android - 如何停止或暂停 Pandora 和 Spotify

java - Android USB 设备过滤器

android - Fresh kotlin android项目配置错误

linux - 内核模块从用户空间获取数据

ruby - 如何使用类似宏的元编程方法扩展 Ruby 模块?

java - 可以在商业应用程序中使用 SimpleXML for Android 吗?

android - Google TV(或更普遍的 Android)的 HLS 播放器是否支持替代音频?