#android #build
#Android #сборка
Вопрос:
Я хотел бы создать 2 сборки моего приложения для Android:
- одна сборка, которая будет максимально приближена к тому, что появится в Android Market, когда я ее выпущу, и которая будет распространена среди тестировщиков, которые не работают в моей компании
- одна сборка, которая будет протестирована программистами моей компании. Это будет очень похоже на другую сборку, но будет иметь некоторые дополнительные функциональные возможности, например, возможность настраивать (во время выполнения), с какой серверной средой оно взаимодействует
Есть ли простой способ изменить мою сборку, чтобы создать оба этих артефакта? Если бы я мог просто установить значение одной переменной на значение, переданное в командной строке во время сборки, я мог бы использовать это значение в разных частях приложения для различного поведения. Однако я не уверен, что это лучший способ сделать это, и я не знаю хорошего способа включить это в свой код.
Я использую готовый build.xml файл, который Android создал для меня прямо сейчас.
Спасибо!
Ответ №1:
Когда у вас есть цепочка автоматической сборки (т. Е. вы запускаете все через ant), вы можете создать один java-файл, содержащий эту переменную, из ant run. И здесь вы можете установить переменную в зависимости от целевой среды. Затем сборка скомпилирует этот файл со всеми остальными и упакует его.
Возможно, в ant также есть задача замены, которая берет существующий файл и просто заменяет токен ##var##
переменным содержимым.
Комментарии:
1. Хм, это сработало бы, но с этим есть некоторые проблемы. Например, как бы вы запустили код из IDE. Кроме того, есть ли у вас какой-либо пример кода или указания на особенности того, как это можно сделать?
2. В среде IDE файл сохраняется, а переменной присваивается одно значение. Чтобы оно компилировалось. По сути, это 2-й вариант. У Ant есть задача замены, которую можно использовать — см. ant.apache.org/manual/Tasks/replace.html