Проект библиотеки выполняет слияние манифеста?
Я собираюсь создать основную библиотеку приложений (проект библиотеки со всей логикой), бесплатную версию) и полную версию, использующую эту библиотеку.
Как я понимаю, некоторые вещи в манифесте не сливаются, как разрешения и действия, сливается ли код версии? Могу ли я поместить в библиотеку один код версии для использования как в бесплатной, так и в платной версиях?
Второй вопрос: мое текущее приложение (тот, который я превращу в библиотеку Android) зависит от библиотеки, поэтому, если я сделаю это библиотекой, как я понимаю, вы не сможете наследовать библиотеку из библиотеки. Как мне обойти это?
Ответы
Ответ 1
НАСТОЯЩИЙ ОТВЕТ БЫЛ ПРАВИЛЬНО ДЛЯ РАННЕЕ ВЕРСИИ АНДРОИДНОГО SDK, НО СЕЙЧАС ОБОРОМЕТ.
СМОТРИТЕ Хейса ОТВЕЧАЮТ НИЖЕ ДЛЯ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ.
-
Файл манифеста для проекта библиотеки почти полностью не используется. Единственной необходимой частью является элемент манифеста с атрибутом пакета. Я считаю, что остальная часть манифеста для проекта библиотеки игнорируется.
-
Инструменты android, выпущенные в сентябре 2010 года, поддерживают проект библиотеки, ссылающийся на проект библиотеки. Документы указывают иначе, но я уверен, что они устарели.
Ответ 2
Слияние AndroidManifest.xml поддерживается в версии 20 инструментов ADT:
"Автоматическое объединение файлов манифеста проекта библиотеки в манифест включающего проекта. Включить с помощью свойства manifestmerger.enabled."
http://tools.android.com/download/adt-20-preview
Вам понадобится версия 20.0.3 или новее, чтобы заставить ее работать в Eclipse.
Примечания к выпуску для Предварительный просмотр ADT 21 содержит следующий комментарий:
"Исправлено слияние манифеста для правильной адаптации классов библиотеки в объединенном манифесте".
Не уверен, что это значит, но может стоить проверить, есть ли проблемы слияния.
Ответ 3
Манифесты не объединены, но напомню, что в Android-XML есть оператор include.
Зависимость библиотеки произвольного уровня была введена в последней версии Android SDK IIRC.