Получение конфигурации приложения из файла - PullRequest
0 голосов
/ 06 июня 2018

Мне нужно получить некоторый Config из файла, вероятно, файла xml, чтобы создать сборку.Я не могу использовать buildVarient, потому что вариации сборки не фиксированы.Ниже приведены атрибуты, которые мне нужно импортировать.

  1. Идентификатор приложения: - В build.gradle.
  2. BASE URL: - базовый URL для сетевого запроса.
  3. Имя приложения: - Имя приложения в манифесте

Требование: один apk будет создан для одного человека.ТАК процедура сборки должна быть простой.Вот почему я думаю о создании config файла и ссылки на все 3 атрибута выше из файла.Это вообще возможно для всех 3?Если да, то как?,Пожалуйста помоги .

1 Ответ

0 голосов
/ 06 июня 2018

Я использую в build.gradle во вкусах что-то вроде этого:

Properties versionProps = new Properties()
versionProps.load(new FileInputStream(file('config.conf')))
def properties_versionCode = versionProps['VERSION_CODE'].toInteger()
def properties_versionName = versionProps['VERSION_NAME']

versionName properties_versionName
versionCode properties_versionCode

Пожалуйста, посмотрите на 2-ю, 3-ю и 4-ю строки.

Вот файл config.conf:

VERSION_NAME=1.0.0
VERSION_CODE=100

Оба файла должны быть размещены на одном уровне папок.


Для задания имен приложений и базового URL я бы использовал отдельные папки проекта, более подробно об этом here .


Вы также можете создавать настраиваемые поля сборки, чтобы они были видны в коде, вызывая BuildConfig.{FIELD}.

defaultConfig {
    ...
    buildConfigField "String", "OS", '"android"'
}

Тогда BuildConfig выглядит следующим образом:

public final class BuildConfig {
    public static final boolean DEBUG = Boolean.parseBoolean("true");
    public static final String APPLICATION_ID = "com.example.app";
    public static final String BUILD_TYPE = "debug";
    public static final String FLAVOR = "";
    public static final int VERSION_CODE = 1;
    public static final String VERSION_NAME = "1.0";
    // Fields from default config.
    public static final String OS = "android";
}

Подробнее здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...