Мы пишем приложения для контракта - у нас есть много приложений, и все они используют нашу библиотеку. Но мы не можем контролировать, когда они будут выпущены, это зависит от клиентов, поэтому у них у всех разные версии нашей библиотеки (которая всегда добавляется).
Я хотел бы знать, как правильно использовать одно и то же имя пакета для библиотеки в каждом проекте? Я верю, что это имеет смысл для более опытных разработчиков BB здесь.
Для моих сборок дистрибутива я реорганизую библиотеку, чтобы использовать уникальное имя пакета для этого проекта (обычно путем помещения имени клиента в структуру пакета). Но это добавляет время, неприятности и путаницу с SVN-клиентами Eclipse. Кажется, совершенно неправильно делать это таким образом (но это работает).
Должен быть правильный способ сделать это, даже какой-нибудь инструмент или сценарий, так как каждый раз заставлять идти по этому пути кажется неправильным. Как правильно избежать этой проблемы.
Объяснение, почему это проблема:
- Если вы устанавливаете много приложений, используя где-то одинаковую структуру пакетов, то устройство перезаписывает пакеты. например Если я использую
com.ric.sdk
в качестве своей библиотеки, то каждое приложение, использующее мой SDK, будет перезаписывать любую версию.
Это здорово, если мы будем только каждое обновление. Для нас некоторые проблемы сталкиваются одновременно, создавая проблему для нас:
- Мы пишем приложения для множества разных клиентов, и нам нравится использовать наш общий код для каждого клиента.
- Мы новая компания, и наша SDK растет. Каждое приложение обычно добавляет несколько методов к тому или иному классу. Таким образом, каждое новое приложение нуждается в новейшей SDK. Старые приложения будут по-прежнему работать с новым SDK. Новые приложения порвутся со старым sdk.
- У нас нет управления выпуском, поэтому мы не можем быть уверены, что все приложения всегда имеют последнюю версию SDK.
например. у нас есть приложение для потокового радио, которое было создано 8 месяцев назад. И приложение для потокового видео (не связанный клиент) от 3 месяцев назад. Приложение отслеживания транспортных средств за этот месяц. Если кто-то устанавливает приложение для отслеживания, а затем после того, как находит и устанавливает приложение для радиосвязи, новый SDK перезаписывается старым, и приложение для отслеживания перестает работать, поскольку оно несовместимо со старым SDK.
(этот вопрос касается тех же проблем: Делятся ли приложения, загруженные из App World, с общими проектами? )
Мы выучили урок и теперь перед финальной сборкой каждого приложения реорганизуем sdk с уникальным именем, например. radio.ric.sdk
или video.ric.sdk
.
Но это ужасный процесс, портящий SVN, теряющий время, допускающий человеческие ошибки и т. Д. - есть ли инструмент, который делает это для меня? Я не верю, что мы делаем это правильно.