アプリケーション開発中は、アプリケーションの環境情報を変更したり、複数の環境を並行して使用したりする必要が頻繁に生じます。これらの環境はワークスペースと呼ばれます。
mPaaS では、開発中に環境を簡単に切り替えるための以下の 2 つの方法を提供しています。
静的環境切り替え
前提条件
mPaaS フレームワーク上で開発されたアプリケーションがあること。詳細については、「mPaaS フレームワーク入門」をご参照ください。
easyconfig を使用して、静的に環境を切り替えることができます。このツールは以下の操作を実行します。
AndroidManifest内のワークスペースに関連するmetaプロパティを変更します。assetsディレクトリ内のmpaas.propertiesファイルを変更します。mPaaSプロジェクト構成ファイルに空でないbase64プロパティが含まれている場合、セキュリティガード暗号化イメージyw_1222.jpgを生成します。
パブリッククラウド
パブリッククラウド環境でワークスペースを切り替えるには、以下の手順を実行してください。
プロジェクトのルートディレクトリにある
build.gradleファイルに、以下の依存関係が含まれていることを確認します。説明これらの依存関係のバージョン番号は、今後のアップデートで変更される可能性があります。
classpath 'com.alipay.android:android-gradle-plugin:3.0.0.9.13' // バージョン番号は 2.8.4 より大きい必要があります classpath 'com.android.boost.easyconfig:easyconfig:2.8.4'メインプロジェクト (
android main module) のbuild.gradleファイルに、以下の設定が含まれていることを確認します。順序にご注意ください。apply plugin: 'com.alipay.portal' // com.alipay.portal の後に記述してください apply plugin: 'com.alipay.apollo.baseline.update'コンソールから対象ワークスペースの
.config構成ファイルをダウンロードします。詳細については、「コンソールでのアプリケーション作成 > 構成ファイルのダウンロード」をご参照ください。ダウンロードした
.configファイルをメインプロジェクトパス (android main module) に追加します。次の図はその例です。
重要現在のワークスペースに対応する構成ファイルのみを保持してください。
Apsara Stack
Apsara Stack 環境でワークスペースを切り替えるには、以下の手順を実行してください。
プロジェクトのルートディレクトリにある
build.gradleファイルに、以下の依存関係が含まれていることを確認します。説明これらの依存関係のバージョン番号は、今後のアップデートで変更される可能性があります。
classpath 'com.alipay.android:android-gradle-plugin:3.0.0.9.13' // バージョン番号は 2.8.4 より大きい必要があります classpath 'com.android.boost.easyconfig:easyconfig:2.8.4'メインプロジェクト (
android main module) のbuild.gradleファイルに、以下の設定が含まれていることを確認します。順序にご注意ください。apply plugin: 'com.alipay.portal' // com.alipay.portal の後に記述してください apply plugin: 'com.alipay.apollo.baseline.update'コンソールから対象ワークスペースの
.config構成ファイルをダウンロードします。詳細については、「構成ファイルのダウンロード」をご参照ください。ダウンロードした
.configファイルをメインプロジェクトパス (android main module) に追加します。次の図はその例です。
重要現在のワークスペースに対応する構成ファイルのみを保持してください。
mPaaS プラグインを使用して、
yw_1222.jpg暗号化イメージを生成します。詳細については、「暗号化イメージ (Apsara Stack)」をご参照ください。
動的環境切り替え
動的環境切り替え機能を使用すると、クライアントを再パッケージングせずに、端末の設定で環境オプションを変更することで、アプリケーションの環境情報を変更できます。
動的環境切り替え機能は、Apsara Stack 環境でのみサポートされています。
動的環境切り替えは、複数の環境が存在し、頻繁に切り替える必要がある開発シナリオに適しています。
動的環境切り替えでは、新しい環境の構成ファイルをアプリケーションに書き込む必要があるため、アプリケーションにファイルストレージ権限を要求する必要があります。
環境構成情報を更新すると、セキュリティガード署名検証イメージ (yw_1222.jpg) が変更されます。mPaaS セキュリティ署名検証メカニズムの制限により、動的環境切り替えには以下の 2 つの制限事項があります。
この方法は開発フェーズでのみ適用可能です。アプリケーションを公開する前に、対応する構成を削除する必要があります。削除しない場合、リリースパッケージで
RuntimeExceptionが発生します。mPaaS コンソールでネットワークリクエスト署名検証スイッチをオフにする必要があります。オンのままだと、署名イメージ情報が不正確なため、リクエストが失敗します。

動的環境切り替え SDK の追加
依存関係を追加します。
ネイティブ AAR 接続タイプの場合、プロジェクトのメインモジュールの
build.gradleファイル内のdependenciesに、以下の依存関係を追加します。dependencies { ··· implementation 'com.mpaas.mocksettings:mocksettings-build:10.1.60a.1575@aar' ··· }Portal & Bundle 接続タイプの場合、Portal プロジェクトのメインモジュールの
build.gradleファイル内のdependenciesに、以下の依存関係を追加します。dependencies { ··· bundle 'com.mpaas.mocksettings:mocksettings-build:1.0.0.200421111458@jar' manifest 'com.mpaas.mocksettings:mocksettings-build:1.0.0.200421111458:AndroidManifest@xml' ··· }
SDK を使用します。
ネイティブ AAR 接続タイプの場合、Application の
getPackageManagerメソッドを再書き込みし、PackageManagerをMockSettingsPackageManagerに置き換えます。private MockSettingsPackageManager mockSettingsPackageManager; @Override public PackageManager getPackageManager() { if (mockSettingsPackageManager == null) { mockSettingsPackageManager = new MockSettingsPackageManager(this, super.getPackageManager()); } return mockSettingsPackageManager; }Portal & Bundle 接続タイプの場合、Portal プロジェクトのメインモジュールの
AndroidManifest.xmlファイル内のapplicationを以下のように変更します。<application android:name="com.alipay.mobile.quinox.MockSettingsLauncherApplication" ··· > ··· </application>
以下の権限を追加し、実行時に動的に要求することを保証します。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />デバッグパッケージをビルドするか、
AndroidManifest.xmlでデバッグ設定を有効にします。<application android:debuggable="true" ··· > ··· </application>
動的切り替え
QR コードをスキャンして mPaaS Settings アプリをダウンロードします。
インストール後、mPaaS Settings アプリのアイコンは次のようになります。
mPaaS コンソールからダウンロードした
configファイルを、端末の SD カードまたは内部ストレージにコピーします。環境を追加します。mPaaS Settings アプリを使用して、
configファイルをリストに追加します。mPaaS Settings アプリを開きます。
環境リスト ページで、画面下部の [環境構成ファイルの追加] をタップします。
追加する環境構成ファイルを見つけます。

本番環境およびステージング環境のファイルを環境リストに追加します。
環境を切り替えます。
リストから環境を選択し、[切り替え] をタップして、現在の環境として設定します。
この環境のアプリを起動します。テストリクエストが正常に送信されれば、環境切り替えは成功しています。
別の環境に切り替えてアプリを再起動した際に、3000 エラーが発生することがあります。このエラーは、前の環境の operationType が新しい環境に存在しないために発生するものであり、切り替えが成功したことを示しています。