Android科普知识库

Android 构建变体的lib库配置

2024-09-22  本文已影响0人  蚍蜉一生

在看本文之前建议先了解下《源集理解》《buildType和productFlavors相同和差异》《渠道包基础认知》。

在《源集理解》一文中有介绍,代码,资源、配置文件、jniLib怎么做好配置和区分,那么有同学问,libs下面的包呢?

首先 ,如果所有渠道包对应的构建变体都使用相同的lib库(jar包或者aar),那就无需做这个lib库的配置;如果有不同,则需要我们进行lib库在不同构建变上(大多数情况只需要在风味维度上做配置,这个原因可以留做一个思考题)的配置,一半有两种常见的方案:

一、根据不同的风味使用不同的依赖lib地址

假设定义的产品风味有:

  flavorDimensions "so"
    productFlavors {
        so64 {
            dimension "so"
        }
        so32 {
            dimension "so"
        }

    }

对应依赖配置:

dependencies {
   so32Api fileTree(include: ['*.jar', '*.aar'], dir: 'libs/so32')
   api fileTree(include: ['*.jar', '*.aar'], dir: 'libs/so64
}

lib对应存放配置:

lib位置

二、不同的风味包引用不同名称的lib库

假设定义的产品风味有:

  flavorDimensions "so"
    productFlavors {
        so64 {
            dimension "so"
        }
        so32 {
            dimension "so"
        }

    }

对应依赖配置:

dependencies {
    so32Implementation(name:jiami-sdk-32, ext: 'jar')
    implementation(name:jiami-sdk-64, ext: 'jar')
    }

libs目录展示:


libs展示

除了这两种方案,您还有什么方案么?继续学习gradle 构建,方案还有很多。

上一篇下一篇

猜你喜欢

热点阅读