2017-01-14 8 views
-1

異なる市場(国)を対象とするAndroidアプリを開発しています。20 +バージョンのアプリをすばやくビルドするには(各パッケージごとに若干の変更が加えられています)

この質問の範囲は、2つのことに答えることです:アプリ内で

簡単に「グローバル」パラメータを設定して切り替える方法
  1. (このアプリのこの「変異体」とは、標的になるなど国を)コードベース全体で使用されます。バックエンドAPIエンドポイント。つまり、リリースされるバリアントに応じて、20以上のバックエンドAPIがあります。
  2. これらの20種類以上のアプリを簡単に構築し、それぞれのパッケージ名を変更し、それぞれのユニークなグローバルパラメータを考慮しながら構築する方法。簡単に全体のコードベースを横切って使用されるアプリケーション、例えば内(このアプリのこの「変異体」は、標的とする例えば国)を設定し、「グローバル」パラメータを切り替える方法
+0

可能な限り、リリース管理のために、ユーザーがいる国を自動的に検出します。ディスカッション[ここ](http://stackoverflow.com/questions/11872483/reliable-method-to-get- user-is-in)と[here](http://stackoverflow.com/questions/11872483/reliable-method-to-get-the-country-the-user-is-in) – selbie

+0

いいえ、実行時にユーザーの場所を検出することには興味がありません。さまざまな市場向けのカスタマイズされたアプリケーションを構築したいと考えています。ビルド "バリアント"に基づいて、アプリケーションは完全に異なり、異なる動作をします。 –

答えて

1

バックエンドAPIエンドポイント。つまり、リリースされるバリアントに応じて、20以上のバックエンドAPIがあります。

国ごとにproduct flavorを設定します。 buildConfigFieldを使用して、バックエンドエンドポイントの詳細を含むBuildConfigにフィールド(またはフィールド)を追加します。

これらの20種類以上のアプリを簡単に構築し、それぞれのパッケージ名を変更し、上記のユニークなグローバルパラメータをそれぞれのビルド時に考慮してください。

gradle assembleReleaseを実行して20個以上のAPKをすべてアセンブルします。または、を実行して、flavorというフレーバで1つのAPKをアセンブルします。

関連する問題