Подтвердить что ты не робот

Проект библиотеки выполняет слияние манифеста?

Я собираюсь создать основную библиотеку приложений (проект библиотеки со всей логикой), бесплатную версию) и полную версию, использующую эту библиотеку.

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

Второй вопрос: мое текущее приложение (тот, который я превращу в библиотеку Android) зависит от библиотеки, поэтому, если я сделаю это библиотекой, как я понимаю, вы не сможете наследовать библиотеку из библиотеки. Как мне обойти это?

4b9b3361

Ответ 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.