ゆっくりShmiel:
build.gradle(モジュール):
productFlavors {
mytest {
...
buildConfigField "boolean", "SHORT_ENUM", "false"
}
mysecondtest {
buildConfigField "boolean", "SHORT_ENUM", "true"
}
MyClassのでは私はbuildConfigField私が定義したに応じて、ビルド時に列挙型メンバーを定義します:
public class MyClass {
// members initialization
public enum MYENUM {
if (BuildConfig.SHORT_ENUM) {
FIRST(0),
SECOND(1);
}
else { // SHORT_ENUM is false
FIRST(0),
SECOND(1),
THIRD(2),
FORTH(3);
}
private int value;
MYENUM(int v) {
value = v;
}
}
....
}
しかし、それは動作しません。それは私がやりたいものを行うことが可能ですか?yesの場合、どのように?
Moonbloom:
あなただけの書き込みができないif
クラス定義でのステートメントを。
ジャワにはIFDEFとIFNDEFはありません。
あなたにできることは、製品の味のそれぞれのJavaコードのフォルダを作成し、正確にこれらのフォルダのそれぞれに列挙型定義を作成することです。
例:
アプリ/ srcに/デバッグ/ Javaの/私/パッケージ/ MyEnum.java
アプリ/ SRC /ベータ/ javaの/私/パッケージ/ MyEnum.java
次に、デバッグをビルドするとき、それはデバッグバージョンを使用すると、あなたはベータ版をビルドする場合、それはベータ版を使用します。