自分でgradleスクリプトで定義された変数を使用できるように、ファイルされたビルド構成を定義したいと思います:
def someVar = 512
Android {
...
buildConfigField 'int', 'SOME_INT_FIELD', someVar
}
ただし、次のエラーが発生します。
エラー:(25、0)Gradle DSLメソッドが見つかりません: 'buildConfigField()'
考えられる原因:
- プロジェクト「PROJECT」は、メソッドを含まないバージョンのGradleを使用している可能性があります。
- ビルドファイルにGradleプラグインがない可能性があります。
私は次のような引用符を使用できます:
def someVar = 0
Android {
...
buildConfigField 'int', 'SOME_INT_FIELD', '"' + someVar + '"'
}
しかし、これはBuildConfigのコンパイラエラーになります
// Fields from default config.
public static final int SOME_INT_FILED = "512";
だから今のところ私は一緒にいます:
def someVar = 0
Android {
...
buildConfigField 'String', 'SOME_INT_FIELD', '"' + someVar + '"'
}
そしてそれを次のように使用します:
final int value = Integer.valueOf(BuildConfig.SOME_INT_FIELD);
誰かより良い解決策がありますか、それともbuildConfigFieldを間違って使用していますか?
(上記の可能性のいずれかと組み合わせて括弧も使用してみました。)
def someVar = 100
buildConfigField 'int', 'SOME_INT_FIELD', String.valueOf(someVar)
上記を使用して質問を解決します。