我正在將我的應用程式分成多種風格,其中一些應該有 HMS,而其中一些不應該,到目前為止,我已經成功地劃分了源代碼,但是我無法讓 gradle config 的這一部分按預期作業它:
if(rootProject.ext.useHuaweiLib == true) {
implementation 'com.huawei.agconnect:agconnect-core:1.4.1.300'
implementation 'com.huawei.hms:push:5.0.1.300'
}
這里我只在 useHuaweiLib 為 true 的情況下添加庫,這里是 app 模塊中的風味劃分:
flavorDimensions "purpose"
productFlavors {
client {
dimension "purpose"
buildConfigField "boolean", "USE_HUAWEI_LIB", "false"
}
defaultConfig {
dimension "purpose"
buildConfigField "boolean", "USE_HUAWEI_LIB", "false"
}
huawei_client{
dimension "purpose"
buildConfigField "boolean", "USE_HUAWEI_LIB", "true"
rootProject.ext.useHuaweiLib = true
}
sdk {
dimension "purpose"
buildConfigField "boolean", "USE_HUAWEI_LIB", "false"
}
}
和根模塊中的變數宣告:
ext {
buildToolsVersion = "32.0.0"
compileSdkVersion = 31
minSdkVersion = 23
targetSdkVersion = 30
versionCode = 1
releaseName = "1.0"
versionName = "1.0.0"
useHuaweiLib = false
}
如您所見,該變數默認為 false,并且僅在 huawei_client 風格中設定為 true,但出于某種原因,即使我選擇了“客戶端”風格,我仍然可以訪問 HMS api。我希望能夠選擇具有不同源和庫集的風味。
uj5u.com熱心網友回復:
您可以將風味作為前綴添加到所有依賴項匯入。放棄if宣告并使用它:
huawei_clientImplementation 'com.huawei.agconnect:agconnect-core:1.4.1.300'
huawei_clientImplementation 'com.huawei.hms:push:5.0.1.300'
這樣,這兩個庫只會被添加到huawei_client風味中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/487043.html
上一篇:將一個類與另一個類鏈接
