带有awsconfiguration.json的sourceSets

时间:2019-08-26 17:49:03

标签: android amazon-web-services android-gradle-plugin aws-amplify source-sets

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

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

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

1 个答案:

答案 0 :(得分:1)

将每种产品的awsconfiguration.json放在 assets 目录下,请参见以下目录结构:

enter image description here

有关如何配置产品风味和构建类型的信息,请参阅:https://developer.android.com/studio/build/build-variants 细节。

然后在代码内部使用如下代码引用资产:

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

参考:

  1. Android get file from asset/raw
  2. https://developer.android.com/reference/android/content/res/AssetManager