私はAndroidアプリケーションを開発するために2つの異なる環境で作業しますが、SDKごとに異なるMaps APIキーがあります。私は別の場所に1つのdebug.keystoreファイルをコピーしようとしていませんが、開発環境に基づいてファイル内のキーを選択的に置き換える方法があれば好きです。キーはXMLファイルで使用されます(ただし、プログラムで設定する方法が必要です)。開発環境に基づいてMaps APIキーを変更する
答えて
antでプロパティ置換えを使用することも、そこにmavenを使用することもできます。ここで
MapView constructorにAPIキーを渡して、プログラムで設定することができます。
は、私たちが何をすべきかです:
私たちは、資産/ environment.propertiesという名前のファイルにマップのキーを保持します。デフォルトでは、開発キーが含まれています。アプリケーションの起動時に実行時に、そのファイルからハッシュ値をすべて取得し、そのファイルのキーからマップビューを手動で構築します(APIキーをMapView
コンストラクタに渡すことができます)。
新しいバージョンをリリースするたびに、ビルドシステムは、プロダクションキーを含むenvironment.propertiesに異なるテンプレートファイルをコピーします。このステップは、バージョン管理システム(Gitを使用)を使用して変更を破棄してアプリケーションをビルドすると元に戻されます。それはすべて自動です。
これまでのところ非常にうまくいきました。
これは最善のアプローチのようです - 記事や例はありますか?このような設定をして、既存のIDEで動作させることは、かなり文書化されていないように思えます。私はAntに慣れていません。 –
私は実際には、ビルドセットアップに関するブログ記事を書くことを考えていました。なぜなら、これはかなり複雑になっていて、他の多くの問題も解決しているからです(上流プロジェクト、JAR、 Androidライブラリープロジェクト、解析用のバイトコードインジェクション、バイトコード最適化用のProGuard、公開用などの構成固有のAPKに自動的に分割するなど)。私はMavenを使っていますが、ある時点ですべてをGradleに移植しようとしています(現時点ではあまりにも不安定です)。 – Matthias
私は実際にはMavenに多くの経験はありません。私たちがやっていることのいくつかはMaven-ishではないと思います。たとえば、GMavenを使用してGroovyベースのビルドヘルパーに手を差し伸べると、より複雑なMaven-resources-pluginを扱う代わりにファイルを作成してコピーします。 – Matthias
マップキーで複数の証明書を登録して、複数のキーを使用する必要がなくなりました。 https://stackoverflow.com/a/13881624/1433372
"例:45:B5:E4:6F:36:AD:0A:98:94:B4:02:66:2Bを1つのSHA1証明書のフィンガープリントとパッケージ名(セミコロンで区切ってください) :12:17:F2:56:26:A0:E0; com.example 45:B6:E4:6F:36:AD:1A:98:94:B4:02:66:2B:12:17:F1: 56:26:A0:E0; com.example "
- 1. Log4j2:環境変数に基づいてパターンを変更
- 2. ビルド環境ターゲットに基づいてリアクションアプリの機能を変更
- 3. ASP.NETの環境変数に基づいてweb.configファイルを変更する
- 4. Aspネット開発環境へのホスト環境の変更
- 5. 環境に基づいてWCFサービス参照URLを変更する
- 6. イオン3の開発環境と生産環境を基にしたデータ表示
- 7. 環境に基づくハイパーメディアリンクの適用
- 8. ドッカーの他の環境変数に基づいて環境変数をenvファイルに設定します
- 9. 別の変数に基づいて環境変数をエコーする
- 10. Google Maps API - 私の開発環境の空白フレームで、同僚の環境ではありません
- 11. gulpの環境に基づいてファイルをコピーする方法
- 12. 環境に基づいてJNDIを選択する方法
- 13. phonegap開発環境
- 14. ハイブリッド開発環境
- 15. オンラインレール開発環境
- 16. 開発環境(ワードプレス)
- 17. GAE開発 - 開発環境セットアップ(HotSwap)
- 18. シームレスにプロダクションに移行するApache環境の開発環境
- 19. VS2017 ASP.NETコア環境開発
- 20. SpringBoot:Configuration Production対開発環境
- 21. 環境検出に基づいて関数内で変数を宣言する
- 22. 角2:環境に基づいて静的変数を定義する
- 23. Firebase Angular 4ノード環境に基づいて初期化する
- 24. 環境変数に基づくNGINX基本認証
- 25. Rspecが環境設定値を変更して開発環境を汚染する
- 26. レール開発環境循環依存エラー
- 27. asp.net制作/開発環境
- 28. ASPNETCORE_ENVIRONMENT環境変数から開発エラー
- 29. ローカルサービスファブリッククラスタのカスタネット開発者環境変数?
- 30. URLに基づいてさまざまな環境(開発、生産)を設定します
重要なポイントは設定するのではなく、開発環境に基づいて設定することでした。 – gsingh2011
right @gsingh。マティアスの答えがあなたを助けてくれることを願っています。 – Karthik