私はコードの主要なソースとしてAndroidライブラリを使用するアプリケーションを構築しています。それから私はそのライブラリを使って複数のアプリを持っています。これらのアプリは同じコードを持ちますが、エンドポイントなどの異なる設定フィールドを持ちます。図書館でアプリケーションのライブラリbuildConfigFieldsをオーバーライド
build.gradle:
は、これを実現するために、私は、ライブラリのbuild.gradle
ファイル内buildConfigField
を持っているし、このように、同じ名前を使って、私のアプリのbuild.gradle
にその値をオーバーライドすると考えていました:アプリで
buildConfigField "String", "API_BASE_URL", "\"http://arandomapibaseurl.com\""
build.gradle:
buildConfigField "String", "API_BASE_URL", "\"http://myrealapi.com\""
これを達成するためのアイデアはありますか?
ありがとうございます!
IIRCでは、2つの別々の 'BuildConfig'クラスがあります.1つはライブラリパッケージ用で、もう1つはアプリパッケージ用です。あなたのライブラリは、アプリケーションの 'BuildConfig'について何も知らないので、ライブラリから' BuildConfig'をオーバーライドする方法を知りません。他のオプション(例えば、 ' 'マニフェスト要素がXMLリソース、通常のJavaベースの設定、アセットを無効にするなど)を調べる必要があるかもしれません。 –
CommonsWare