【问题标题】:Type project.com.project.MainActivity is defined multiple times类型 project.com.project.MainActivity 被定义多次
【发布时间】:2021-05-15 18:52:20
【问题描述】:

Kotlin 和 Java MainActivity 类中的 Android 应用程序 ID 冲突

错误:

Type project.com.project.MainActivity is defined multiple times 
./project/build/app/intermediates/javac/debug/classes/project/com/project/MainActivity.class,
./project/build/app/tmp/kotlin-classes/debug/project/com/project/MainActivity.class

Kotlin 和 Java MainActivity 类都是使用 flutter run 命令生成的,并且都包含 package project.com.project

MainActivity.class

package project.com.project

public class MainActivity {
   public MainActivity() {
   }
}

MainActivity.kt

package project.com.project

import io.flutter.embedding.android.FlutterActivity

class MainActivity: FlutterActivity() {

}

环境:

Android Studio  4.1.2
Gradle Plugin       4.1.2 
Gradle Version  6.5 
Flutter Version     1.22

在 Android Studio 中试过:

Build -> Clean Project, 
Build -> Rebuild Project, 
File -> Invalidate Cache Restart 

在命令行中尝试过:

flutter clean 
flutter run
rm -Rf ~/.gradle/caches 

错误仍然存​​在。

【问题讨论】:

标签: java android flutter android-studio kotlin


【解决方案1】:

我遇到了同样的错误,我的 app build.gradle 有以下依赖项。

implementation 'com.google.android.material:material:1.2.1'
implementation "androidx.compose.ui:ui:$compose_version"

删除 ui 依赖后,它工作正常。原因是material依赖于ui。

【讨论】:

    【解决方案2】:

    冲突是由 gradle 中自动生成的 Kotlin 引用引起的。

    从 gradle 配置文件中删除所有 Kotlin 条目足以让 flutter run 命令恢复正常

    【讨论】:

      猜你喜欢
      • 2020-11-25
      • 1970-01-01
      • 2020-06-15
      • 2020-07-16
      • 2020-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-05
      相关资源
      最近更新 更多