当前位置:  开发笔记 > Android > 正文

如果找不到引用但不必要的源/资源,如何解决产品风味的构建错误?

如何解决《如果找不到引用但不必要的源/资源,如何解决产品风味的构建错误?》经验,为你挑选了0个好方法。

我有一个项目,它有2个产品口味和自己的目录:

的build.gradle:

android {
    ...
    productFlavors {
            free {
                applicationId "com.sample.free"
                 buildConfigField "boolean", "free", "true"
            }
            paid {
                applicationId "com.sample"
                buildConfigField "boolean", "free", "false"
            }
    }
}

我有一个类(例如PaidOperationClass),仅用于paid风味.所以,我把那个类放在src/paid/java目录下.而且我有另一个类(例如CommonClass),两种口味都使用它.所以我把它放在src/main/java目录下:

src/main/  --> has CommonClass
src/free/
src/paid/  --> has PaidOperationClass

CommonClass我有一个方法,如:

if(!BuildConfig.FREE) {
    PaidOperationClass.doSomeStuff();
}

因此PaidOperationClass引用(具有导入)但从未被免费构建使用.

如果我为paid味道构建应用程序,一切都很完美.但是,如果我尝试构建它的free味道,它会失败,因为没有找到引用但不必要的类.如何在没有代码(类/方法)复制的情况下解决这个问题(例如将假人PaidOperationClass置于free风味之下)?是否有任何gradle选项在构建时忽略了这种构建错误?

编辑: 我需要一个不需要代码复制的gradle解决方案.基于注释的自定义脚本可能会在编译时删除不必要的产品风格代码.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有