[解決済み】Gradleの変数をJavaで使えるように宣言することは可能か?
2022-03-24 14:27:37
質問
Gradleの変数をJavaで使えるように宣言することは可能ですか? 基本的には、私はbuild.gradleでいくつかのバーを宣言し、そしてビルド時にそれを(明らかに)取得したいです。ちょうどC/C++のプリプロセッサーマクロのように...
宣言の例としては、こんな感じでしょうか.
android {
debug {
A_VAR_RETRIEVABLE_IN_JAVA = 42
}
release {
A_VAR_RETRIEVABLE_IN_JAVA = 42+52
}
}
そのような方法はあるのでしょうか?
どのように解決するのですか?
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
関連
-
[解決済み] コレクションへの共有参照が見つかりました org.hibernate.HibernateException
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] Android StudioのGradleとは?
-
[解決済み] Gradle に特定の JDK バージョンを使用するように指示する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] getContentPane()は具体的に何をするのですか?
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] javaで部分クラスを実装する方法
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] javax.mail.MessagingException: SMTPホストに接続できませんでしたか?
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] JavaFX 同じパッケージ内なのに「場所が必要です。
-
[解決済み] Maven: assembly-pluginが全く実行されない
-
[解決済み] Javaコンパイラーエラー:ステートメントではありません
-
[解決済み] AndroidManifest.xml ファイル内の BuildConfig 値にアクセスするにはどうすればよいですか?