gpt4 book ai didi

android - 如何通过有选择地 bundle 依赖库来生成多种 flavor 的apk?

转载 作者:行者123 更新时间:2023-12-03 03:55:43 25 4
gpt4 key购买 nike

我的Android应用程序依赖于多个Android库(例如A,B,C,D)。我想从中生成不同的apk,例如apk1只需要消耗A,B,而apk2需要只消耗B,C。

我通过做类似的事情探索了Android的product flavor概念的选项,

android {
...
defaultConfig {...}
buildTypes {
debug{...}
release{...}
}
// Specifies one flavor dimension.
flavorDimensions "version"
productFlavors {
demo {
// Assigns this product flavor to the "version" flavor dimension.
// If you are using only one dimension, this property is optional,
// and the plugin automatically assigns all the module's flavors to
// that dimension.
dimension "version"
applicationIdSuffix ".demo"
versionNameSuffix "-demo"
}
full {
dimension "version"
applicationIdSuffix ".full"
versionNameSuffix "-full"
}
}
}

现在它正在生成具有多种产品的apk,但是它包括每种口味的所有库。如何避免这种情况?

最佳答案

dependencies使用特定于 flavor 的指令。例如,您可以使用implementationdemoImplementation代替fullImplementationdemo构建将包括demoImplementation依赖关系,而full构建将包括fullImplementation依赖关系。

documentation page that you linked to显示了一个使用free风格的示例:

dependencies {
// Adds the local "mylibrary" module as a dependency to the "free" flavor.
freeImplementation project(":mylibrary")

// Adds a remote binary dependency only for local tests.
testImplementation 'junit:junit:4.12'

// Adds a remote binary dependency only for the instrumented test APK.
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

关于android - 如何通过有选择地 bundle 依赖库来生成多种 flavor 的apk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60126970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com