项目遇到了瓶颈,所以要给项目做模块化;因为公司产品是马甲包的战略所以直接模块化最好,将UI和逻辑分别做成Moudle进行依赖。
遇到的问题就是,在创建一个新的Moudle的时候,发现依赖的另一个Moudle无法被调用,build过程中提示无法解决依赖的模块。
解决过程中发现,被依赖的Moudle的gradle配置文件中,配置了“flavorDimensions” 和 “productFlavors”,也就是配置了风味和维度,所以新创建的Moudle也需要配置相关的信息,才可以解决依赖的问题
PS:如果发现这样不行,可以尝试清除Android Studio的缓存后重启Android Studio在进行尝试
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
minSdkVersion 21
targetSdkVersion 30
flavorDimensions "versionCode"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
debug {
}
release {
}
}
// 渠道包定义
productFlavors {
umeng{}
google{}
huawei{}
oppo{}
}
这是被依赖的gradle
android {
compileSdk 32
defaultConfig {
minSdk 21
targetSdk 32
consumerProguardFiles "consumer-rules.pro"
flavorDimensions "versionCode"
}
buildTypes {
release {
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
productFlavors {
register("umeng")
register("google")
register("huawei")
register("oppo")
}
}
这是新创建的Moudle的gradle