Android在拆分多个Moudle遇到依赖无效的问题

2022-04-08  本文已影响0人  薛定谔的猫QAQ

项目遇到了瓶颈,所以要给项目做模块化;因为公司产品是马甲包的战略所以直接模块化最好,将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

上一篇下一篇

猜你喜欢

热点阅读