Java で使用できる Gradle の変数を宣言することは可能ですか? 基本的には、build.gradle でいくつかの変数を宣言し、ビルド時に (当然ですが) それを取得したく思います。C/C++ のプリプロセッサ マクロのように...
宣言の例は次のようになります...:
android {
debug {
A_VAR_RETRIEVABLE_IN_JAVA = 42
}
release {
A_VAR_RETRIEVABLE_IN_JAVA = 42+52
}
}
そのようなことをする方法はありますか?
ベストアンサー1
Gradle から Java で使用するために値を渡す方法は 2 つあります。
Java定数を生成する
android {
buildTypes {
debug {
buildConfigField "int", "FOO", "42"
buildConfigField "String", "FOO_STRING", "\"foo\""
buildConfigField "boolean", "LOG", "true"
}
release {
buildConfigField "int", "FOO", "52"
buildConfigField "String", "FOO_STRING", "\"bar\""
buildConfigField "boolean", "LOG", "false"
}
}
}
以下の方法でアクセスできますBuildConfig.FOO
Androidリソースを生成する
android {
buildTypes {
debug{
resValue "string", "app_name", "My App Name Debug"
}
release {
resValue "string", "app_name", "My App Name"
}
}
}
通常の方法でアクセスする@string/app_name
か、R.string.app_name