Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

Подменить файл в Gradle при разных сборках - Программирование Android

29.07.2016, 06:57. Просмотров 171. Ответов 3
Метки нет (Все метки)

Гуру, подскажите если кто сталкивался...

Такое вообще возможно???


Пытаюсь добиться того, чтобы в разных сборках использовались разные файлы.

Сделал класс version_lite.java, в который положил
Java
1
public static final boolean isLiteVersion = true;
Сделал класс version_pro.java, в который положил
Java
1
public static final boolean isLiteVersion = false;
и разные функции разной начинкой.

Хочу (в идеале) получить 4 варианта сборки из одной папки проекта:
1) дебюг лайт (включен вывод лога в файл и logcat)
2) релиз лайт (урезанный функционал, при декомпиляции других функций просто нет в коде)
3) дебюг про (включен вывод лога в файл и logcat)
4) релиз про (расширенный функционал)

Я понимаю что это можно сделать через GIT, но куда удобнее когда 2 версии файла (лайт/про) лежат рядом в редакторе, но при сборке используется лишь один из них, а при сборке батником другой...

Ресурсы входящие в сборку тоже хотел бы "чистить от не нужных".

Куда "копать"? Про Градле слишком много "вкусного" слышал... На такое вообще он способен?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2016, 06:57     Подменить файл в Gradle при разных сборках
Посмотрите здесь:

Gradle sync failed: Invalid Gradle JDK configuration found - Программирование Android
Спустя пару часов все таки решил открыть тему. Intellij IDEA 15.0.2 Решил освоить Intellij. Создаю Gradle: Android Application....

Ошибка при сборке проекта (gradle) - Программирование Android
Вообщем, делаю тренировочное приложение, чтобы научиться работать с БД MySQL. Вроде код прописал все ок, но при компиляции ошибка: ...

Ошибка Gradle при добавлении Espresso - Программирование Android
Проблема с добавлением библиотеки Espresso как зависимость при помощи Gradle. build.gradle корневой // Top-level build file where...

Как при помощи Gradle добавлять библиотеки в проект? - Программирование Android
как при помощи Gradle добавлять библиотеки в проект?? А исходники как в проект добавить Android Studio??

Android, Gradle: проверка параметра при отладке и сборке подписанного файла - Программирование Android
Приветствую, коллеги! Всем хорошего кода. В проекте есть переменная (класса), которая принимает два значения - true, false. true -...

Ошибка синхронизации Gradle при попытке создания проекта Android в IntelliJ IDEA - Программирование Android
Всем доброго времени суток. Собственно проблема с которой столкнулся в названии топика: ошибка синхронизации Gradle при попытке...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 839
29.07.2016, 09:52     Подменить файл в Gradle при разных сборках #2
Цитата Сообщение от Tester64 Посмотреть сообщение
Куда "копать"? Про Градле слишком много "вкусного" слышал... На такое вообще он способен?
вот в сторону "вкусного" и копайте - gradle product flavors вам в помощь.

Не по теме:

имхо: "дебюг" и "Градле" лучше уж пишите тогда на английском, а не русским на английский лад

Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
29.07.2016, 18:46  [ТС]     Подменить файл в Gradle при разных сборках #3
спасибо! кажется то что нужно(буду вычитывать)

Не по теме:

Цитата Сообщение от androbro Посмотреть сообщение
имхо: "дебюг" и "Градле" лучше уж пишите тогда на английском, а не русским на английский лад
Иногда так лень менять язык!

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2016, 19:06     Подменить файл в Gradle при разных сборках
Еще ссылки по теме:

Ошибка Gradle - Программирование Android
Я устал от этого! Все спокойно работало. Создал новый проект - сборка шла около получаса на первом же этапе (Gradle: Build). Сейчас...

Gradle and Groovy - Программирование Android
Разбираюсь с этой системой сборки, прочитал уже про Groovy, почитал документацию, но все еще есть вопросы по синтаксису: 1. model { ...

Версия Gradle - Программирование Android
Здравствуйте. Последняя версия Gradle 2.13 у меня используется 2.10. Надо ли использовать более свежую версию? Если да, то как...

MinifyEnabled в build.gradle - Программирование Android
Можете объяснить за что отвечает параметр minifyEnabled в build.gradle файле? Он делает абфускацию кода или что то другое? Добавлено...

TargetSdkVersion в build.gradle - Программирование Android
compileSdkVersion - это версия при помощи которой я компилирую свое приложение, а targetSdkVersion - это версия, максимальная версия,...

Папки .oracle_jre_usage, .gradle - Программирование Android
В моих документах создались папки .gradle, .android. Вроде ничего не устанавливал сам туда. Я так понимаю от эмулятора папки по умолчанию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
29.07.2016, 19:06     Подменить файл в Gradle при разных сборках #4
flavors надо знать для эрудиции
в градле дописывается тупо блок
Java
1
2
3
4
5
6
7
8
9
    productFlavors {
        def IS_LITE_VERSION = "IS_LITE_VERSION";
        lite {
            buildConfigField "boolean", IS_LITE_VERSION, 'true'
        }
        pro {
            buildConfigField "boolean", IS_LITE_VERSION, 'false'
        }
    }
после синхронизации из кода можно спокойно вычитывать значение переменной
Java
1
Log.i(TAG, "" + BuildConfig.IS_LITE_VERSION);
выбор варианта сборки (а их теперь 4) будет тут
Подменить файл в Gradle при разных сборках
грубо говоря к слову debug или release будет добавляться название flavor-а, в моем примере это lite и pro
Yandex
Объявления
29.07.2016, 19:06     Подменить файл в Gradle при разных сборках
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru