内の別の場所にbuild.gradleに定義されている:私は何をしたいか使用buildConfigFieldは私のbuild.gradleのコードの次のチャンクを持ってbuild.gradle
productFlavors {
//DIMENSION - APP
slid {
dimension "app"
applicationId "com.slid"
versionCode 1
versionName "1.0.0"
manifestPlaceholders = [one_app_id : "273e0-b8f-4c7f-87-0f4eb68da"]
}
}
は、アクセスone_app_id
あるmanifestPlaceholders
から私のJavaの内部でコード。
私はそうすることができませんでした(あるいは、少なくとも私は道を見つけることができませんでした)として、私は同じ値273e0-b8f-4c7f-87-0f4eb68da
でbuildConfigField
String
を定義したいが、私はそれmanifestPlaceholders/one_app_id
を参照したいと思いますので、私IDを2回書き込まないでください。
質問: buildConfigField "String", "ONE__ID", '[reference_here]'
[reference_here]
の代わりに何を設定しますか?
OR
どのように私は他の方法は、すなわち、IDがbuildConfigField
として設定し、例えばmanifestPlaceholder
にmanifestPlaceholders = [one_app_id: [?!reference_here?!]]
P.S.をその参照を設定している行うことができますはIDが有効でない、心配しないでください:)
は、「私は[reference_here]何を設定する代わりにしますか?」 - 'FOO'は' gradle.properties'や単純なグローバル変数のように 'FOO'をどこかに定義すると動作します。 – CommonsWare
ええ、gradle.propertiesソリューションが見つかりましたが、ID値がbuild.gradleに表示され、別の場所には表示されません。私はフレーバーを使用し、このプロジェクトは新しいフレーバーが必要なときに簡単に新しいデータを書き込む必要があります(第三者がこれらの値を記入して新しいビルドを生成するので、残念ながらストレートにする必要があります: – AndreiBogdan
"私はID値をbuild.gradleに表示したい" - グローバル定数を使用する:http://stackoverflow.com/a/4859715/115145 – CommonsWare