Android 撰写:多次定义类型

Android Compose: Type is defined multiple times

提前感谢您的帮助。

我是 Android 开发的新手,如果我的问题愚蠢或重复,我深表歉意。

我在 Android Studio 4.2.0-alpha12 和 Gradle 版本 6.6.1 上使用 Jetpack Compose。我在构建应用程序时遇到错误

Type com.example.athis.model.course.Coordinate-$$ExternalSynthetic1 is defined multiple times: /Users/noahtatko/AndroidStudioProjects/golf_score_android/app/build/intermediates/project_dex_archive/debug/out/com/example/athis/model/course/Coordinate.dex, /Users/noahtatko/AndroidStudioProjects/golf_score_android/app/build/intermediates/project_dex_archive/debug/out/com/example/athis/model/course/Hole.dex

kotlin文件(不是.dex文件)如下:

// Hole.kt
package com.example.athis.model.course

import androidx.compose.runtime.Immutable

@Immutable
data class Hole(
    val id: Long,
    val hole: Long,
    val yards: Long,
    val handicap: Int,
    val par: Int,
    val coordinates: Coordinate
)
// Coordinate.kt
package com.example.athis.model.course

import androidx.compose.runtime.Immutable

@Immutable
data class Coordinate(
    val id: Long,
    val lat: Double,
    val long: Double
)

我已经尝试切换我的 gradle 版本,因为这似乎是正常的修复,但因为我使用的是 compose,所以我仅限于 6.6.1 之后的版本,none 其中有帮助。

一件奇怪的事情可能会影响:即使我在 Mac 上,我有一个 gradlew.bat 文件,并且 ./gradlew build 不起作用。有没有办法重新生成这些?我试过删除它们,但应用程序根本无法 运行,而不仅仅是构建失败。

事实证明,主要问题是我使用的 compose 版本 1.0.0-alpha3。跳转到 1.0.0-alpha4 解决了所有问题。

我不得不将 Gradle 从 6.8-rc3 降级到 6.8-rc1 以使您在上面发布的错误消失。