wandering-engineer.tech
【Android開発】staging用にstorePasswordなどをセキュアに保つ方法
Androidアプリ開発に限らずなのですが、ステージング環境といって、本番環境に限りなく近いテストアプリ(またはAPI)を作ることが仕事上あると思います。 個人で開発しているような小さなアプリであれば、そんなに「デバッグ版」「ステージング版」「リリース版」と分ける必要もないかも知れませんが、この度、私が趣味と勉強のために開発・運用し続けているモールス信号が呟けるTwitterクライアント「TwitMorse」にバナー広告(Admob広告)を出してみる、という課題にチャレンジした際、debug版とrelease版を分ける必要が出てきてしまいました。そして、本番広告をテストするためにもstaging版も準備する必要がありました。 Androidアプリリリースに必要なkeystoreファイル こいつは初リリース時に作り、厳重に保管する必要があります。 リリース用のapkファイルを作る際に、Googleに「私が責任を持ってこのアプリを作りました」と証明するための秘密鍵です。 以前、ホーホケキョ! 気まずい沈黙を打ち破れ!の最初のリリースをした時に、このkeystoreファイルを紛失していてしかたなしに別のアプリとしてhohokekyoを作った記憶があります。その時の記事もあります。 くわしくは下記を参照ください。 .keystoreファイル紛失した・・・ 紛失するとまた別アプリとしてリリースが必要になります。なので絶対に紛失しないよう大事にしてください。 最近だと{アプリ名}.keystoreではなく{アプリ名}.jksになっているかも知れません。 まあ署名ファイルについての扱いは検索してみてください。 本番テストをするため、staging用ビルドバリアントを設定する build.gradle android { ... defaultConfig {...} signingConfigs { #今回追加分 アプリの署名設定 release { storeFile file("myreleasekey.keystore") storePassword "password" keyAlias "MyReleaseKey" keyPassword "password" } } buildTypes { debug { ... } staging {