美文网首页
AndroidStuido中多渠道打包时,当module作为li

AndroidStuido中多渠道打包时,当module作为li

作者: 小明好爱学习 | 来源:发表于2019-05-30 10:22 被阅读0次
  1. module lib的build.gradle
apply plugin: 'com.android.library'
android {
    compileSdkVersion 28
    defaultConfig {
        ...
        //只有在这里声明维度,才能识别Variant,同时声明两个,则同时编译两个
        flavorDimensions 'channel'
    }
    publishNonDefault true
    productFlavors {
        vivo {
            dimension 'channel'
        }
        huawei {
            dimension 'channel'
        }
    }
}
  1. app的bulid.gradle
apply plugin: 'com.android.application'

android {
    useLibrary 'org.apache.http.legacy'
    compileSdkVersion 28
    defaultConfig {
        ...
        missingDimensionStrategy 'channel','huawei'
    }
}

dependencies {
  ...
    implementation project(':module-lib')
}
3.如此按以上2步配置时, 图片.png

选中huaweiDebug是编译成功的,但当选中vivoDebug时则出报错
WARNING: Module 'module-lib' has variant 'vivoDebug' selected, but the module ''app'' depends on variant 'huaweiDebug'

4.解决办法:在app的build.gradle中将missingDimensionStrategy 'channel','huawei'更改为missingDimensionStrategy 'channel','vivo'
因此每次切换build variant时都手动更改missingDimensionStrategy即可

5.这方法虽然有点点麻烦,但代码简洁明了,若有更好的办法,还请告知

相关文章

网友评论

      本文标题:AndroidStuido中多渠道打包时,当module作为li

      本文链接:https://www.haomeiwen.com/subject/xocmtctx.html