I\'m converting my app to use gradle, and I\'m trying to use the buildTypes. I have a Constants
class which I wish to modify for my release build. So I have a f
The answer from "fix" helped me on the way, but I got an error from the main Gradle, saying a constant was missing (in my class Config). This since I had my class only in paid and free version and not in main. Could not find the Config class. Im not sure if this is a bug in Studio... I finally solved it with the following:
buildTypes {
release {
...
buildConfig "public static final boolean XYZ = false;"
}
}
And the instead of using my Config.XYZ class constant I used buildConfig.XYZ
You can not have a class in main
and release
. You need to split it into something like debug
and release
.
gradle will merge the source sets for each buildType
with main
.
This is the reason, why the class gets duplicated in your release
build.
So the rule is: put a class into main
, or in every buildType
but not both.