Создание модульных приложений Android на Eclipse
В настоящее время я портирую фреймворк для построения приложений на J2ME на Android. Этот фреймворк состоит из нескольких проектов, которые компилируются в библиотеки (jar). Каждая отдельная банка может содержать графические данные (ресурсы, экраны J4ME и т. д.). Каждый проект, как правило, имеет четко определенную точку входа (модуль). Если кто-то хочет построить приложение с использованием фреймворка, он должен только создать проект мидлета, добавить зависимости библиотеки и использовать импортированные классы.
Мы были используя тот же подход для разработки платформы Android. В этом случае мы использовали только обычные Java-проекты внутри Eclipse, которые компилируются в библиотеки jar. Эти проекты имеют зависимости от платформы Android (android.кувшин). При создании нового приложения мы создаем проект Android внутри Eclipse и добавляем зависимости.
Наш следующий шаг-создание более продвинутых модулей для Android, которые также могут содержать графическую информацию (действия, диалоги, литералы, чертежи и т. д.). До сих пор требовался только проект Android Eclipse (конечное приложение), который содержал все графические классы и ресурсы. Похоже, что при использовании ресурсов (литералов, чертежей и т. д.) единственный подход заключается в создании приложения для Android, так как ресурсы доступны только для ссылок с помощью обработчика целых чисел, автоматически созданного плагином ADT (R. XXX). Таким образом, построение графических модулей не может быть построено с помощью простых проектов Java jar.
Информация для разработчиков Android объясняет, что модульные приложения возможны, но я не нашел краткого учебника, объясняющего процесс, но некоторые советы, такие как как предотвратить ошибку в ocurr, когда приложение вызывает намерение, доступное другим приложением. Это допустимо при создании приложений, использующих ресурсы из других приложений. Мне не нужно несколько установленных приложений в системе, но один построен из нескольких компонентов.
Есть ли у кого-нибудь опыт разработки с подобными панихиды? Любой хороший учебник или советы, чтобы начать?
1 ответ:
Кажется, что единственный доступный способ описан здесь, как намекает принятый ответ на этот другой вопрос.
Решение, однако, довольно новое (оно работает только с последними Android SDK tooks R6 и SDKs 2.0.X остаются без поддержки). В нем есть несколько основных предостережений, над которыми, я надеюсь, Google уже работает:
- нет бинарной библиотеки, связывающей . Это означает, что основное приложение нуждается в доступе к источникам (в Eclipse подразумевается наличие всех связанные библиотечные проекты открыты).
- имена ресурсов (макеты, чертежи и т. д.) обрабатываются глобально . Это значит, что если у вас есть два "главных.XML " макеты, будут использоваться только самые релевантные (самые верхние в списке библиотек).
- недостающие функции / ошибки . В документации говорится, что экспортированные действия библиотечного проекта должны быть объявлены только в AndroidManifest.xml проекта библиотеки. Это не работает в текущей версии. Комментарии внутри tictactoe пример намекает, что это желаемый рабочий, но для текущего выпуска инструментов Android используемые действия из библиотечных проектов должны быть явно определены в AndroidManifest.xml проекта основного приложения.
Comments