Android Gradle-除了风味特定的.aar文件之外,还实现共享的.aar文件

问题描述

我一直在网上寻找解决方案,虽然已经接近,但并没有解决我的问题。

我有3种口味,除了每种口味中使用的一些aar文件之外,我还试图基于运行哪种口味的同一个.aar文件实现3个不同版本。 .aar文件都具有相同名称,但专门设置为用于特定程序包名称

我在/ libs文件夹中创建了3个带有.aar的Android Studio模块/库,这些是/ app的依赖项。

app /

  • / libs(所有口味共享)

flav1Module /

  • / libs(仅在app / libs中用在flavor1中)

flav2Module /

  • / libs(仅在app / libs中用在flavor2中)

flav3Module /

  • / libs(仅在app / libs中用在flavor3中)

我缺少在productFlavor设置中实现这些模块的方法吗?

    flavor1{
       applicationIdSuffix ".flav1"
       resValue "string","app_name","App-Flav1"
  }
    flavor2{
       applicationIdSuffix ".flav2"
       resValue "string","App-Flav2"
  }
    flavor3{
       applicationIdSuffix ".flav3"
       resValue "string","App-Flav3"
  }
}



flavor1Implementation project(':flav1Module')
flavor2Implementation project(':flav2Module')
flavor3Implementation project(':flav3Module')


解决方法

通过执行以下操作,找到了一个看起来像 hacky 的答案:

  • 将所有 .aar 文件添加到 libs 文件夹,并相应地重命名了 flavor1/2/3 的每个 .aar 文件(例如“flav1arr.arr”)
  • 在 build.gradle 中为每种口味添加了以下内容 flavor1Implementation "name:'flav1aar',ext:'aar'"

这就成功了。不过,我愿意接受任何更好的方法来做到这一点。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...