Android gradle buildTypes:重复类

Arn*_*517 32 android build gradle source-sets

我正在将我的应用程序转换为使用gradle,我正在尝试使用buildTypes.我有一个Constants类,我希望为我的发布版本修改.所以我有一个文件在src/main/java/my/package/name/Constants.javasrc/release/java/my/package/name/Constants.java.

当我尝试构建它时,gradle告诉我Constants在我的发布版本类型中文件的构建失败,错误是它是一个重复的类.

我也尝试在我build.gradle这样添加一个不同的sourceSet :

sourceSets {
    main {
        java.srcDirs = ['src/main/java'];
        //...
    }
    release {
        java.srcDirs = ['src/release/java'];
    }
}
Run Code Online (Sandbox Code Playgroud)

但这仍然给我同样的错误.所以我想知道,我在这里做错了什么?

flx*_*flx 76

你不能在一个类中mainrelease.你需要把它分成像debug和的东西release.

gradle这个将合并源组对每个buildTypemain.
这就是为什么类在您的release构建中重复的原因.

因此规则是:将一个类放入main或放入每个 buildType但不是两个.

  • 如果一个人将buildType中的A类付费并且免费,主要抱怨缺少A类.如何处理它? (2认同)