Установите разные константы для производства и разработки

Когда мы создаем файл apk или запускаем приложение, мы должны проверить, установлен ли URL-адрес приложения на производственный сервер или сервер разработки.

Вот почему иногда мы забываем обновить его и предоставляем пользователю не то приложение.

Мне нужен способ установки таких констант в соответствии с типом отладки/выпуска gradle.

Любая информация приветствуется Спасибо!!

1
0
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Чтобы создать отдельные варианты приложения для разработки и производства в проекте Android, вы можете использовать функцию «Создать варианты» в Gradle. опробовал приведенный ниже код для архивирования различных URL-адресов на основе выбранных вами вариантов.

android {


// Define product flavors
flavorDimensions "default"
productFlavors {
    development {
        dimension "default"
        buildConfigField "String", "BASE_URL", "\"https://dev.api.example.com/\""
     
    }

    production {
        dimension "default"
        buildConfigField "String", "BASE_URL", "\"https://api.example.com/\""
      
    }
}

// Optionally specify build types if different configurations are needed
buildTypes {
    debug {
        ...
    }

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

}

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

Ответ принят как подходящий

В следующем примере кода создается пользовательское измерение с именем. Пожалуйста, проверьте этот документ

flavorDimensions += "AppName"

productFlavors {
    create("development") {
        dimension = "AppName"
        buildConfigField("String", "BASE_URL", "Your url")
        buildConfigField("String", "BASE_API_URL", "Your url")
        buildConfigField("String", "BASE_SOCKET_URL", "Your url")
    }
    create("production") {
        dimension = "AppName"
        buildConfigField("String", "BASE_URL", "Your url")
        buildConfigField("String", "BASE_API_URL", "Your url")
        buildConfigField("String", "BASE_SOCKET_URL", "Your url")
    }
}

Хуб Хуб Абхар Митра

Gaurav Bharadia 03.09.2024 06:40

Другие вопросы по теме

Возможно ли удаление мертвого кода из двоичных файлов опубликованных артефактов? Будет ли это мешать разрешению зависимостей нижестоящего уровня?
Android: разрешения во время выполнения не работают — в настройках приложения не отображаются запрошенные разрешения, даже когда их запрашивают (WRITE_EXTERNAL_STORAGE)
Ошибка выполнения задачи Gradle: не удалось разрешить зависимости в проекте Android
Я не использовал «com.google.android.play:core:1.10.3» в проекте Gradle в студии Android
Я не использовал «com.google.android.play:core:1.10.3» в проекте Gradle в студии Android
Ошибка связывания ресурсов Android: android:attr/lStar не найден с помощью external_app_launcher
Модуль был скомпилирован с несовместимой версией Kotlin. Двоичная версия метаданных — 1.8.0, ожидаемая версия — 1.6.0
Ошибка плагина Kotlin Gradle: «Для вашего проекта требуется более новая версия плагина Kotlin Gradle»
Android API 34: какая версия Gradle?
Отсутствует старая упаковка с застежкой jcenter

Похожие вопросы