Intereting Posts
Android – SQLiteException: рядом с "=": синтаксическая ошибка (код 1) Есть ли способ удалить onTouchListener из объекта вида? Жесткое преимущество над растровым изображением для памяти в android Как сравнить список массивов с мобильным контактом Как добавить горизонтальную линию 1px над изображением в относительной компоновке? Android: самый эффективный способ передать некоторые байты только для чтения на собственный C ++ Разрешения USB без подсказки Как скомпилировать Android-приложение с системными правами Android Studio, не отображающая тег SigninButton <item>, требует атрибута «android: color» Файловая система только для чтения на Android ScrollView Игнорировать OnTouch при прокрутке? Как избежать обратного проектирования файла ресурсов ресурсов папок APK? Удерживайте активность при блокировке экрана, когда экраны alseep Качество конференции WebRTC с использованием нескольких PeerConnection Android, ссылки на вещи в R.drawable. Используя переменные?

Android Studio: Переключение URL-адреса в зависимости от типа сборки? (Используется для тестирования в отладке / выпуске)

Я читал что-то о вариантах и ​​строках, и я не знаю, правильно ли я это понимаю, но я хотел бы сохранить URL-адрес для locahost (тестирование) и один для производства (живой сайт в Интернете).

И мне нужно переключить их в зависимости от того, какой buildtype. Правильно ли это? Или есть другая альтернатива?

У кого-нибудь есть небольшой пример?

Есть ли способ сохранить эту информацию в файле, который мне не нужен, чтобы зафиксировать исходный контроль? Я использую файл gradle.properties для хранения некоторых паролей, которые использует gradle для подписей. Это отлично работает, поскольку этот файл я не разделяю в управлении версиями.

Я немного запутался в правильном методе использования и его реализации.

Есть идеи?

Solutions Collecting From Web of "Android Studio: Переключение URL-адреса в зависимости от типа сборки? (Используется для тестирования в отладке / выпуске)"

Вы можете использовать BuildConfig для подачи разных URL-адресов для каждого типа BuildType

buildTypes { debug { buildConfigField "String", "SERVER_URL", '"http://someurl/"' } release{ buildConfigField "String", "SERVER_URL", '"http://someotherurl/"' } } 

BuildConfig будет автогенерироваться каждый раз, когда вы синхронизируете свой проект с файлом gradle. В вашем коде вы можете получить доступ к URL-адресу, например:

 BuildConfig.SERVER_URL 

Если вы не хотите фиксировать эти URL-адреса, вы можете хранить их в своих параметрах gradle.properties точно так же, как и ваш пароль, и ссылаться на них в файле build.gradle.

 buildConfigField "String", "SERVER_URL", serverurl.debug 
  buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' buildConfigField "String", "BASE_URL", '"url1"' debuggable false } debug { runProguard false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' buildConfigField "String", "BASE_URL", '"url2"' debuggable true } 

Это вам нужно сделать в градиенте и сделать запуск двух приложений (выпуск и отладка) на одном телефоне, просто добавьте

ApplicationIdSuffix ".debug"

В части отладки. Поскольку имя пакета будет другим. Это сработало для меня.