全部产品
云市场

切换工作空间(Workspace)

更新时间:2020-03-23 19:50:06

应用开发过程中,常会有更换应用环境信息或多套环境(即工作空间,Workspace)并行研发的需求。mPaaS 提供的工具可帮助您在开发过程中方便地进行环境切换。根据切换环境的需求不同,分为以下两种方式:

静态环境切换

前置条件

您已有 基于 mPaaS 框架 开发的 App。更多信息参见 基于 mPaaS 框架 > 快速开始

公有云

在公有云环境中,切换工作空间的步骤如下:

  1. 确保工程根目录 build.gradle 文件中,有如下依赖:

    说明:因功能迭代,以下依赖的版本可能会不断增大。
    1. classpath 'com.alipay.android:android-gradle-plugin:3.0.0.6.1'
    2. // 版本号必须大于 2.1.0
    3. classpath 'com.android.boost.easyconfig:easyconfig:2.1.0'
  2. 确保主工程(android main module) 的 build.gradle 中有如下配置(请注意顺序):
    1. apply plugin: 'com.alipay.portal'
    2. //位于 com.alipay.portal 之后即可
    3. apply plugin: 'com.alipay.apollo.baseline.update'
  3. 从控制台下载对应工作空间(Workspace)的 .config 配置文件。更多信息,请参考 在控制台创建应用 > 下载配置文件
  4. 将下载的 .config 配置文件添加到主工程(android main module)路径下。注意:仅保留对应工作空间的配置文件即可。如下图所所示:

专有云

在专有环境中,切换工作空间的步骤如下:

  1. 确保工程根目录 build.gradle 文件中,有如下依赖:

    说明:因功能迭代,以下依赖的版本可能会不断增大。
    1. classpath 'com.alipay.android:android-gradle-plugin:3.0.0.6.1'
    2. // 版本号必须大于 2.1.0
    3. classpath 'com.android.boost.easyconfig:easyconfig:2.1.0'
  2. 确保主工程(android main module) 的 build.gradle 中有如下配置(需注意顺序):
    1. apply plugin: 'com.alipay.portal'
    2. //位于 com.alipay.portal 之后即可
    3. apply plugin: 'com.alipay.apollo.baseline.update'
  3. 从控制台下载对应工作空间的 .config 配置文件。更多信息参考 在控制台创建应用 > 下载配置文件
  4. 将下载的 .config 配置文件添加到主工程(android main module)路径下。注意:仅保留对应工作空间的配置文件即可。如下图所所示:

  5. 使用 mPaaS 插件生成 yw_1222.jpg 加密图片。更多信息参见 加密图片(专有云)

注意事项

easyconfig 工作原理:

  1. 能够修改AndroidManifest workspace 相关的 meta 属性。
  2. 修改 assets 下的 mpaas.properties 文件。
  3. 如果 mPaaS 工程配置文件中包涵 base64 属性且属性不为空,会生成无线保镖加密图片 yw_1222.jpg

动态环境切换

动态环境切换指客户端不重新打包的情况下,通过修改手机设置中环境选项,动态修改应用的环境信息。

说明:动态切换适用于开发阶段多套环境并存且频繁切换的场景。

由于 mPaaS 安全验签机制的限制,更新环境配置信息会修改无线保镖验签 yw_1222.jpg 图片,因此动态切换环境有两个限制:

  • 仅适用于开发阶段:动态切换环境仅适用于开发阶段,上线前请注意删除对应的配置(Release 包会报 RuntimeException 异常)。
  • mPaaS 控制台需关闭网络请求验签开关,否则会因验签图片信息不对导致请求失败。

添加动态环境切换 SDK

  1. 在 portal 工程主 module 下面的 build.gradle 配置文件中的 dependencies 中添加以下依赖:
    1. dependencies {
    2. ···
    3. bundle 'com.mpaas.mocksettings:mocksettings-build:1.0.0.191122153217@jar'
    4. manifest 'com.mpaas.mocksettings:mocksettings-build:1.0.0.191122153217:AndroidManifest@xml'
    5. ····
    6. }
  2. 将 portal 工程主 module 下面的 AndroidManifest.xml 中的 application 修改为如下配置:
    1. <application
    2. android:name="com.alipay.mobile.quinox.MockSettingsLauncherApplication"
    3. android:debuggable="true"
    4. ···
    5. >
    6. ···
    7. </application>

动态切换

  1. 扫描二维码下载 mPaaS 设置 App。

    安装完成后,显示 mPaaS 设置 App 的图标如下:

    app

  2. 将 mPaaS 控制台下载的 config 文件放入手机 SD 卡中。
  3. 添加环境。通过 mPaaS 设置 App 将 config 文件添加到列表中。

    1. 打开 mPaaS 设置 App。
    2. 点击 环境列表 页面底部的 添加环境配置文件

    3. 找到要添加的环境配置文件。

    4. 依次将两个文件(正式环境和测试环境)添加至环境列表。

  4. 切换环境。

    1. 选择上图中的一个环境,点击 切换,将其选中为当前环境。

    2. 然后启动该环境所对应的 App,测试请求可正常发送,说明环境切换成功。

      此时若切换到另一个环境,再重启前一个环境所对应的 App,由于新的环境内没有对应的 operationType,所以系统会报 3000 异常,这是已成功切换到另一个环境后的正常结果。