AndroidStudio中的普通Java库在编辑器中给出编译错误:无法访问“java.io.Serializable”,它是
我开始使用带有数据和域层的干净架构在 kotlin 中开发一个 Android 项目,域层是一个普通的 java 库(没有 android 依赖项)
这是域模块相关的 gradle conf:
plugins {
id("java-library")
id("kotlin")
id("kotlin-kapt")
}
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
dependencies {
api(kotlin("stdlib-jdk8"))
// ....
}
如果我从命令行或在 android studio 中运行构建,它会成功完成!
但是 Android Studio仅针对此模块在 EDITOR 中给了我很多奇怪的错误:
Cannot access 'java.io.Serializable' which is a supertype of 'kotlin.Double'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'kotlin.String'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'java.util.Locale'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'java.math.BigDecimal'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'java.time.OffsetDateTime'. Check your module classpath for missing or conflicting dependencies
来,看:
你得到了图片。它们在编辑器中都是红色的。但是,如果我执行 compile: 没有错误,并且项目按预期工作。
我想强调一下:
-->这只是编辑器中的一个问题,但很烦人 <--
因为它隐藏了我可能需要看到的真实错误。
项目中的另一个 Dev 没有这样的问题。
我在最后一个 Android Studio Beta 上运行:
Android Studio Arctic Fox | 2020.3.1 Beta 3
Build #AI-203.7717.56.2031.7395685, built on May 25, 2021
Runtime version: 11.0.10+0-b96-7249189 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 5.8.0-53-generic
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 8
Registry: external.system.auto.import.disabled=true
Non-Bundled Plugins: org.jetbrains.kotlin, com.intellij.lang.jsgraphql, org.intellij.plugins.markdown
Current Desktop: ubuntu:GNOME
如您所见,我使用的是 Linux,准确地说是 Ubuntu 20.04.02 LTS。另一个开发者有一台 mac。
Android Studio 设置为使用嵌入式 JDK(版本 11)。
如果我编辑我的设置而不是使用嵌入式 JDK,我会切换到我的系统 openjdk 版本 11,错误就会消失
但是,当我更改它时,我开始在 compose 中遇到一些预览问题,无论如何,Google 推荐了嵌入式 JDK 。我宁愿坚持下去,引用:
最新的 OpenJDK 副本与 Android Studio 2.2 及更高版本捆绑在一起,这是我们建议您用于 Android 项目的 JDK 版本。
任何人都可以提供任何见解或帮助摆脱上述错误吗?
THE END
二维码