исходные наборы с awsconfiguration.json

Я использую AWS Amplify и имею две среды, между которыми я переключаюсь, поэтому у меня есть два файла awsconfiguration.json, но мне нужен способ переключения между ними во время выполнения. Я слышал, что вы можете использовать sourceSets, но не могу понять, как это сделать. Я пробовал следующее, но безуспешно. Я считаю, что мне нужно настроить productFlavor и/или buildType?

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

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

person Nelson.b.austin    schedule 26.08.2019    source источник
comment
скопируйте эти два файла в две разные папки, затем установите цель в эти папки через тип сборки   -  person Manoj Perumarath    schedule 27.08.2019
comment
как создать файл awsconfiguration.json для push-уведомлений?   -  person b devloper    schedule 02.08.2021


Ответы (1)


Поместите свой awsconfiguration.json в каталог assets для каждого варианта продукта, см. структуру каталогов, как показано ниже:

введите здесь описание изображения

Чтобы узнать, как настроить вариант продукта и типы сборки, обратитесь к: https://developer.android.com/studio/build/build-variants для получения дополнительной информации.

Затем внутри вашего кода обратитесь к своим активам, используя код, как показано ниже:

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

Ссылка:

  1. Android получить файл из актива/необработанного
  2. https://developer.android.com/reference/android/content/res/AssetManager
person shizhen    schedule 27.08.2019
comment
Благодарю вас! Это сработало! Даже не пришлось использовать sourceSets. - person Nelson.b.austin; 27.08.2019
comment
как создать файл awsconfiguration.json для push-уведомлений? - person b devloper; 02.08.2021