如何仅在调试buildtype中注册Transform

时间:2017-07-21 03:26:32

标签: gradle android-gradle

我为Android应用程序编写了一个自定义gradle插件,我注册了一个转换,但我只想在当前的buildtype是debug时注册它。我怎样才能实现它。

public class CustomPlugin implements Plugin<Project> {
     void apply(Project project) {
         project.android.registerTransform(new CustomTranform());
     }
}

1 个答案:

答案 0 :(得分:0)

您可以从运行转换的上下文中获取变体名称:javadoc

这意味着您可以通过以下方式编写转换:

class CustomTranform extends Transform {

    @Override
    public void transform(TransformInvocation invocation) {
        String variantName = invocation.getContext().getVariantName();
        if (variantName.toLowerCase().endsWith("debug")) {
            // actual transform
        } else {
            // no-op transform
        }
    }

    ...
}