Android и Blackberry проект в затмении - PullRequest
3 голосов
/ 18 марта 2011

Я довольно новичок в Android и действительно использую Eclipse только для некоторых базовых работ Blackberry, поэтому мне было любопытно, могу ли я выбрать мнение нескольких экспертов для любых предложений / указателей по настройке рабочей области / проекта, которые вы используете для двойной платформы поддержка проектов в затмении?

Я обнаружил, что около 80% моего кода является общим для Blackberry и Android, поэтому мне нужно обратиться к этим 20%.

В настоящее время я думаю о том, чтобы иметь одно рабочее пространство с общим источником в нескольких проектах, задав их в опциях дерева исходных текстов.

В тех случаях, когда используются специфичные для платформы функции, я отмечу имя источника как * Android _ ??? * и * Blackberry _ ??? * соответственно и получу общий класс, на который указывают оба проекта.

т.е. фактически одно рабочее пространство содержит настройки Android и Blackberry, и в рабочем пространстве есть один проект для Blackberry и один для Android, но каждый проект использует одну и ту же файловую систему с соответствующими исходными файлами другой платформы, исключенными из сборки.

Если бы в java был простой способ сделать эквивалент #ifdef в java, это упростило бы этот порт, но я думаю, что мы должны сделать это без. (Я слышал об использовании препроцессора ac для этого, но звучит неаккуратно, если только Настоятельно рекомендуется, я бы предпочел не принимать это)

Я слышал о создании разделяемой библиотеки, но чувствую, что они не совместимы между Android и Blackberry, поэтому любые советы по этому подходу также приветствуются.

Ответы [ 2 ]

1 голос
/ 06 июля 2011

Возможно, уже слишком поздно, но я все же расскажу вам об этом.

У меня похожая потребность. У меня есть общий код и специфичные для Blackberry и Android части. У меня есть три отдельных проекта Eclipse для каждой части. «Конкретные» проекты - это те, которые на самом деле выполняются, и они оба зависят от проекта (который я считаю чище, чем включение источника) от общего.

Обратите внимание, что общий проект должен быть проектом Blackberry (созданным с помощью плагина), поскольку проект Blackberry не может зависеть от не-blackberry проекта.

У меня это хорошо работает!

1 голос
/ 23 марта 2011

Для всех, кто сталкивался с этой проблемой, я нашел решение, которое сработало, создав 3 директории на диске

Common Blackberry Android

Подавляющее большинство переходит в Common, однако классы, которые имеютспецифичные для платформы вызовы поступают в аналоги Blackberry / Android соответственно и расширяют общий базовый класс в общем каталоге.

Например, класс MyClass, для которого требуются версии для конкретной платформы, будет иметь MyClassCommon в общем каталоге и в Blackberry.каталог, в котором есть MyClass, расширяет определение MyClassCommon и то же самое для Android.

В Eclipse пути Common, Blackberry, Android src добавляются индивидуально через общую переменную (trunk), которая распространяется на пути Common, Blackberry, Androidдля импорта из корня 3 src.

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

Я уверен, что есть более элегантный / правильный способ сделать это, но сейчас это работает хорошо.

...