类型 project.com.project.MainActivity 被定义多次
Posted
技术标签:
【中文标题】类型 project.com.project.MainActivity 被定义多次【英文标题】:Type project.com.project.MainActivity is defined multiple times 【发布时间】: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
错误仍然存在。
【问题讨论】:
问题指向developer.android.com/studio/build/…,现在我们比较一下gradle和Android Studio的依赖关系。 【参考方案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
命令恢复正常
【讨论】:
以上是关于类型 project.com.project.MainActivity 被定义多次的主要内容,如果未能解决你的问题,请参考以下文章