Android Gradle - 除了风味特定的 .aar 文件之外,还实现了共享的 .aar 文件
Android Gradle - Implementing shared .aar files in addition to flavor specific .aar files
我一直在网上搜索这个问题的解决方案并且已经接近但没有解决我的问题。
我有 3 种风格,除了每种风格中使用的一些 aar 文件外,我还试图根据正在使用的风格 运行 实现相同 .aar 文件的 3 个不同版本。 .aar 文件都具有 相同的 名称,但专门设置用于 特定的包名 .
我已经创建了 3 个 Android Studio module/libraries,其中包含 /libs 文件夹中的那些 .aar,这些是 /app 的依赖项。
应用/
- /libs(所有口味共享)
flav1模块/
- /libs(除app/libs外仅用于flavor1)
flav2Module/
- /libs(除app/libs外仅用于flavor2)
flav3模块/
- /libs(除app/libs外仅用于flavor3)
我是否缺少一种在 productFlavor 设置中实现这些模块的方法,就像在这些方面一样
flavor1{
applicationIdSuffix ".flav1"
resValue "string", "app_name", "App-Flav1"
}
flavor2{
applicationIdSuffix ".flav2"
resValue "string", "app_name", "App-Flav2"
}
flavor3{
applicationIdSuffix ".flav3"
resValue "string", "app_name", "App-Flav3"
}
}
flavor1Implementation project(':flav1Module')
flavor2Implementation project(':flav2Module')
flavor3Implementation project(':flav3Module')
通过执行以下操作找到了一个看起来很老套的答案:
- 将所有 .aar 文件添加到 libs 文件夹并相应地为 flavor1/2/3 重命名每个 .aar 文件(示例“flav1arr.arr”)
- 在 build.gradle 中为每种口味添加了以下内容
flavor1Implementation "name:'flav1aar', ext:'aar'"
这成功了。不过,我愿意接受任何更好的方法。
我一直在网上搜索这个问题的解决方案并且已经接近但没有解决我的问题。
我有 3 种风格,除了每种风格中使用的一些 aar 文件外,我还试图根据正在使用的风格 运行 实现相同 .aar 文件的 3 个不同版本。 .aar 文件都具有 相同的 名称,但专门设置用于 特定的包名 .
我已经创建了 3 个 Android Studio module/libraries,其中包含 /libs 文件夹中的那些 .aar,这些是 /app 的依赖项。
应用/
- /libs(所有口味共享)
flav1模块/
- /libs(除app/libs外仅用于flavor1)
flav2Module/
- /libs(除app/libs外仅用于flavor2)
flav3模块/
- /libs(除app/libs外仅用于flavor3)
我是否缺少一种在 productFlavor 设置中实现这些模块的方法,就像在这些方面一样
flavor1{
applicationIdSuffix ".flav1"
resValue "string", "app_name", "App-Flav1"
}
flavor2{
applicationIdSuffix ".flav2"
resValue "string", "app_name", "App-Flav2"
}
flavor3{
applicationIdSuffix ".flav3"
resValue "string", "app_name", "App-Flav3"
}
}
flavor1Implementation project(':flav1Module')
flavor2Implementation project(':flav2Module')
flavor3Implementation project(':flav3Module')
通过执行以下操作找到了一个看起来很老套的答案:
- 将所有 .aar 文件添加到 libs 文件夹并相应地为 flavor1/2/3 重命名每个 .aar 文件(示例“flav1arr.arr”)
- 在 build.gradle 中为每种口味添加了以下内容
flavor1Implementation "name:'flav1aar', ext:'aar'"
这成功了。不过,我愿意接受任何更好的方法。