我尝试在android build.gradle文件中导入两个flutter模块,如下所示:
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
applicationId "com.techy.nateshmbhat.sampleapp"
minSdkVersion 17
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
repositories {
maven {
url '/Users/nateshmbhat/Desktop/flutter-android-bridge/flutter_module/build/host/outputs/repo'
}
maven{
url '/Users/nateshmbhat/Desktop/flutter-android-bridge/flutter_module2/build/host/outputs/repo'
}
maven {
url 'http://download.flutter.io'
}
}
buildTypes {
}
}
dependencies {
debugImplementation 'com.techy.nateshmbhat.flutter_module:flutter_debug:1.0'
debugImplementation 'com.example.flutter_module2:flutter_debug:1.0'
}
但在Gradle构建期间,我收到以下错误:
Duplicate class io.flutter.plugins.GeneratedPluginRegistrant found in modules flutter_debug-1.0-runtime.jar (com.example.flutter_module2:flutter_debug:1.0) and flutter_debug-1.0-runtime.jar (com.techy.nateshmbhat.flutter_module:flutter_debug:1.0)
我该如何解决这个重复的问题?有没有一种方法可以将冲突类从flutter构建过程中排除掉,这样当它被包含进来时就不会发生冲突?
1条答案
按热度按时间7cwmlq891#
你不能直接这么做。这是Flutter上的一个open issue repo。
此问题的作者提到了一种解决方法(引用作者的话:此处):
将这两个模块作为第三个模块(此处称为
umbrella
)的包导入。保护伞/公共规范yaml
很明显这是不可取的,而且感觉很笨拙。另外,它给导入过程增加了一层,根据你使用的方法,你必须重复一些步骤,因为模块的需求发生了变化。