Android Compose: тип определяется несколько раз

#android #kotlin #gradle #android-jetpack-compose

#Android #kotlin #gradle #android-jetpack-compose

Вопрос:

и заранее спасибо за любую помощь.

Я новичок в разработке Android, поэтому прошу прощения, если мой вопрос глуп или дублируется.

Я использую jetpack compose в версии Android Studio 4.2.0-alpha12 и Gradle 6.6.1 . Я получаю сообщение об ошибке при сборке приложения

 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, ни один из которых не помог.

Одна странная вещь, которая может повлиять: несмотря на то, что я на Mac, у меня есть gradlew.bat файл, и ./gradlew build он не работает. Есть ли способ восстановить их? Я пытался удалить их, но тогда приложение вообще не запускается, а не только из-за сбоев сборки.

Комментарии:

1. Я прокомментировал val coordinates: Coordinate и все равно получил ту же ошибку, так что это не должно быть проблемой циклических деп или чего-то еще.

2. gradlew.bat Файл не будет работать в Man, только в Windows. Что касается основной проблемы, вы пробовали запускать «Чистый проект»?

3. Да, не помогло

Ответ №1:

Оказывается, основная проблема была связана с версией compose, которую я использовал 1.0.0-alpha3 . Переход к 1.0.0-alpha4 исправлению всего.

Ответ №2:

Мне пришлось понизить Gradle с 6.8-rc3 до 6.8-rc1, чтобы устранить ошибку, которую вы опубликовали выше.