chciałbym zdefiniować build config złożony gdzie mogę użyć zmiennej zdefiniowanej w Gradle skryptu to samo:Gradle buildConfigField z całkowitą zmiennej
def someVar = 512
android {
...
buildConfigField 'int', 'SOME_INT_FIELD', someVar
}
Ale ta produkuje następujący błąd:
Error:(25, 0) Gradle DSL method not found: 'buildConfigField()'
Possible causes:
The project 'PROJECT' may be using a version of Gradle that does not contain the method. The build file may be missing a Gradle plugin.
mogę używać cytatów jak:
def someVar = 0
android {
...
buildConfigField 'int', 'SOME_INT_FIELD', '"' + someVar + '"'
}
Ale to chodzi o błąd kompilatora w BuildConfig
// Fields from default config.
public static final int SOME_INT_FILED = "512";
Więc teraz mogę zostać z:
def someVar = 0
android {
...
buildConfigField 'String', 'SOME_INT_FIELD', '"' + someVar + '"'
}
i używać go lubię:
final int value = Integer.valueOf(BuildConfig.SOME_INT_FIELD);
Czy ktoś ma lepsze rozwiązanie, czy też używam buildConfigField?
(Próbowałem też za pomocą nawiasów w połączeniu z dowolnym z możliwością powyżej).
Dzięki, kluczowe jest, aby zdefiniować zmienną jako typu 'string', ale użyć 'int' dla buildConfigField. Dzięki temu niepotrzebne jest rzutowanie i parsowanie. Tego właśnie szukałem. – salcosand