我在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在编辑器中给了我很多奇怪的错误,只针对这个模块:
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:no error,那么项目将按预期工作。
我想强调一点:
-->这只是编辑器中的一个问题,但很烦人<--
因为它隐藏了我可能需要看到的真实错误。
项目中的另一个开发人员没有此类问题。
我正在运行上一个android studio测试版:
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,准确地说是Ubuntu20.04.02LTS。另一个开发人员有一个mac。
android studio设置为使用嵌入式jdk(版本11)。
如果我编辑我的设置,而不是使用嵌入式jdk,我会切换到我的系统openjdk版本11,错误就会消失
但是,当我更改它时,我开始在compose中遇到一些预览问题,而且,无论如何,google推荐使用嵌入式jdk。我宁愿坚持下去,引用:
最新openjdk的副本与android studio 2.2及更高版本捆绑在一起,这是我们建议您在android项目中使用的jdk版本。
有人能提供一些见解或帮助来消除上述错误吗?
暂无答案!
目前还没有任何答案,快来回答吧!