ILovemyPoncho:
私は自分のアプリケーションのためのいくつかのエスプレッソのテストをやっていると私は私のテストから実際のAPIと対話しています。だから、私はいくつかの環境変数からこれらのAPIの資格情報を読み取るためにしようとしています:
のは、私はNetflixのAPIを使用していましょう。私は中に資格情報を宣言bash_profile
MAC上:
export NETFLIX_ID='123'
export NETFLIX_TOKEN='xxx'
launchctl setenv NETFLIX_ID $NETFLIX_ID
launchctl setenv NETFLIX_TOKEN $NETFLIX_TOKEN
今のGradleに、私はこのように、いくつかの追加のプロパティを作成します。
ext {
netflixId = System.getenv("NETFLIX_ID")
netflixToken = System.getenv("NETFLIX_TOKEN")
}
私は印刷する場合netflixId
と、netflixToken
資格情報が正しく印刷され、意味がSystem.getenv()
働いています。
私が今やろうとしていることは、Javaコードからそれらの余分のプロパティを読み取ることです。それを行う方法がある場合、あなたは知っていますか?またはより良い方法?任意の助けいただければ幸いです
laalto:
あなたのアプリケーションに環境変数の値を構築することができます。あなたは、でビルドコンフィグ分野のものを置くことができますbuild.gradle
:
android {
defaultConfig {
buildConfigField "String", "NETFLIX_ID", "\"" + System.getenv('NETFLIX_ID') + "\""
}
}
これらの値は、生成されたコンパイル時に終わるBuildConfig
ことのGradleモジュールのAndroidManifestパッケージに対応するパッケージ内のクラスを、あなたはその後、使用できるBuildConfig.NETFLIX_ID
値を使用します。