Как распространить вариант сборки в библиотеки? - PullRequest
0 голосов
/ 25 сентября 2018

До 3-го класса мы могли использовать

configurations {
  client1DevCompile
  ...
}
dependencies {
  client1DevCompile project(
    path: ':common',
    configuration: 'app1DevRelease'
  )
...
}

. После 3-го класса было указано, что build varian будет распространяться автоматически, если оба модуля имеют одинаковые flavourDimensions и productFlavors.
В моем основном модуле у меня есть

flavorDimensions "environment"
productFlavors {
    prod {
        applicationId "package"
        dimension "environment"
    }

    qa {
        applicationId "package.qa"
        dimension "environment"
    }

    dev {
        applicationId "package.dev"
        dimension "environment"
    }
}

and in sub module i have
flavorDimensions "environment"
productFlavors {
    prod { dimension "environment" }
    qa { dimension "environment" }
    dev { dimension "environment" }
}

Однако, когда я выбираю buildvarian для основного модуля, он не распространяется enter image description here

1 Ответ

0 голосов
/ 25 сентября 2018

В подмодуле измените разновидности следующим образом:

flavorDimensions "environment"
productFlavors {
    prod { dimension "environment" }
    qa { dimension "environment" }
    dev { dimension "environment" }
}

И не забудьте добавить зависимость к подмодулю.

У меня похожая (лучше сказать, более сложная) ситуацияи это работает очень.Вот мои примеры основных / субмодульных вариантов Gradle, которые работают для меня:

main:

flavorDimensions "brand", "mode"

productFlavors {
    // Brand
    a {
        dimension "brand"
        applicationIdSuffix ".a"
    }
    b{
        dimension "brand"
        applicationIdSuffix ".b"
    }

    // Demo-mode
    normal {
        dimension "mode"
        resValue "string", "demo_verion", ""
    }
    demo {
        dimension "mode"
        applicationIdSuffix ".demo"
        versionNameSuffix "-demo"
        resValue "string", "demo_verion", "DEMO VERSION"
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation project(':submodulelib')
}

субмодуль:

flavorDimensions "brand"

productFlavors {
    // Brand
    a{
        dimension "brand"
        externalNativeBuild {
            cmake {
                cFlags "-DA"
            }
        }
    }
    b{
        dimension "brand"
        externalNativeBuild {
            cmake {
                cFlags "-DB"
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...