Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio构建变体_Android_Gradle_Android Studio_Android Gradle Plugin - Fatal编程技术网

Android Studio构建变体

Android Studio构建变体,android,gradle,android-studio,android-gradle-plugin,Android,Gradle,Android Studio,Android Gradle Plugin,我正在处理一个有大量依赖关系的项目。这已经成为一个问题,因为当添加新的SDK时,我们将超过APK可以容纳的方法的最大限制(65536) 我正在考虑在Android Studio中使用新的构建系统,以便创建依赖于依赖项子集的构建变体。我能够找到一些教程,帮助使用构建风格创建不同的类替代方案,但我没有找到任何关于为每个风格指定不同依赖项的内容。这可能吗?整个工作流程是什么样子的 例如,我想创建一个构建变体来删除Flurry支持。我可以创建一个不实例化Flurry SDK的不同类,但我也希望能够完全删

我正在处理一个有大量依赖关系的项目。这已经成为一个问题,因为当添加新的SDK时,我们将超过APK可以容纳的方法的最大限制(65536)

我正在考虑在Android Studio中使用新的构建系统,以便创建依赖于依赖项子集的构建变体。我能够找到一些教程,帮助使用构建风格创建不同的类替代方案,但我没有找到任何关于为每个风格指定不同依赖项的内容。这可能吗?整个工作流程是什么样子的

例如,我想创建一个构建变体来删除Flurry支持。我可以创建一个不实例化Flurry SDK的不同类,但我也希望能够完全删除lib依赖项,以减少APK中方法的总数

我也愿意接受任何关于管理此类问题的建议:)

这很有效(确保在productFlavors之后列出依赖项):

但这是行不通的:

android {
...
dependencies {
    flavor1Compile ...
}
...
    productFlavors {
        flavor1 { ...
    ...

可能感兴趣:一般来说,是的,您可以--在您的dependencies语句中,而不是
compile'path.to.dependency'
,例如,您有
flavor1Compile'path.to.dependency'
。这是否足够,或者您需要更多信息?如果是这样的话,请在你的问题中详细说明。@ScottBarta:所以基本上我会创建包含从主树更改的类的样式,我会用FlavorNameCompile替换compile,听起来正确吗?是的,这就是你如何具有特定于样式的依赖性,这是你问题的一部分。至于你的整个工作流程/概念是否有效,我不确定。这将很难管理,但当你达到64k方法限制时,你真的没有任何好的选择。理想情况下,我想要实现的是类似于iOS树中发生的事情,在iOS树中,我可以在#ifdef之间包装特定于“味道”的代码,以便我可以轻松地基于几个常量“配置”构建。我正试图找到一个尽可能接近这一点的工作流程,这就是为什么我要尝试这一点。谢谢你提到的风味依赖性,我不知道。
android {
...
dependencies {
    flavor1Compile ...
}
...
    productFlavors {
        flavor1 { ...
    ...