awsconfiguration.json 的 sourceSets

sourceSets with awsconfiguration.json

我正在使用 AWS Amplify 并在两个环境之间切换,因此我有两个 awsconfiguration.json 文件,但需要一种在运行时在两者之间切换的方法。我听说您可以使用 sourceSets,但不知道如何使用。我尝试了以下,但没有成功。我相信我必须设置一个 productFlavor and/or buildType?

sourceSets {
    prod {
        res.srcDirs = ['res-prod']
    }

    dev {
        res.srcDirs = ['res-dev']
    }
}

把你的awsconfiguration.json放在assets目录下每个产品口味,目录结构如下图:

如何配置产品风味和构建类型,请参考:https://developer.android.com/studio/build/build-variants了解更多 细节。

然后在您的代码中使用如下代码引用您的资产:

AssetManager am = context.getAssets();
InputStream is = am.open("awsconfiguration.json");

参考:

  1. https://developer.android.com/reference/android/content/res/AssetManager