如何通过有选择地捆绑依赖库来生成多种风味的apk?

汤姆·泰勒

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

通过做这样的事情探索了Android产品风味概念的选项

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,但是它包括每种口味的所有库。如何避免这种情况?

常用软件

对您的使用风味特定的指令dependenciesimplementation例如,您可以使用demoImplementation和来代替fullImplementationdemo建立将包括demoImplementation相关性,同时full建立将包括fullImplementation依赖性。

您链接到文档页面显示了一个使用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'
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过选择下拉值来生成字段?

通过用多种可能性替换字符来生成所有组合的列表

使用多种模板/风味构建单个Apk

如何通过将中间填充0来生成具有正确长度的票证ID

如何通过交换两个位置来生成所有向量?

Gradle中基于多种风味库的单一风味模块

如何通过从多个数组中选择h / l值来生成随机均匀分布?

我应该使用新生成的带有旧密码、别名和密钥库密码的 jks 文件来生成签名的 apk 文件吗?

如何选择node_modules dist风味与webpack捆绑在一起

具有多种风味的Crashlytics分布

如何在运行时通过Import-Package获取我的捆绑包依赖的所有OSGi捆绑包?

如何通过在 java 中指定不同的输入来生成有效的 RSA 1024 位公钥和私钥?

c#如何通过对单词中的每个位置使用char数组来生成单词的所有组合

如何有选择地将记录器传递给Symfony捆绑包

如何使用商品口味和APK拆分重命名并从Gradle中生成所有APK和捆绑包

使用android studio与./gradlew assemble生成带有风味的签名APK [FlavourName] Release提供不同的结果

如何在詹金斯中创建具有特定风味的.apk?

如何使用gradle将所有风味APK上传到nexus?

如何在Spring Boot中有选择地升级依赖项?(示例:Spring Data)

当具有依赖项并且也是aar库时,如何为android库生成javadoc?

是否有一个Ruby库来生成Bootstrap组件?

通过具有“新指标”列来生成Spark Dataframe组

通过传入带有Where条件的.Count()中使用的属性名称来生成lambda

通过扰动现有的随机分布来生成离散的随机概率分布

通过将元素替换为0来生成所有可能的列表

通过使用现有数据集作为基础数据集来生成数据

通过删除给定数字的数字来生成所有数字

Python程序通过更改单词“ace”中的字母“c”来生成所有可能的单词

如何通过选择生成更新?