проект библиотеки android и мероприятия - PullRequest
22 голосов
/ 19 февраля 2011

Я занимаюсь разработкой библиотеки Android SDK. В этой библиотеке я объявил и использовал некоторые действия. Теперь я попытался включить библиотеку в приложение, но заметил, что должен объявить все действия библиотеки в приложении. Это очень плохо, потому что в библиотеку я включил много действий, и разработчик должен скопировать все действия в свое собственное приложение. Есть ли решения для этого?

Ответы [ 2 ]

26 голосов
/ 19 февраля 2011

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

Из документа

В файле манифеста проект приложения, вы должны добавить декларации всех компонентов, которые приложение будет использовать это импортировано из проекта библиотеки. За Например, вы должны объявить любой <activity>, <service>, <receiver>, <provider> и т. Д., А также <permission>, <uses-library> и похожие элементы.

Кроме того, отличный ответ здесь от Марка Мерфи.

22 голосов
/ 12 мая 2014

Обновление 1: При использовании Gradle, объединение манифеста теперь выполняется автоматически.Подробнее о том, как это работает и как разрешать конфликты, можно узнать здесь (спасибо за замечание guy.gc)

Исходное сообщение:

Для обновления этой темы: теперь возможно автоматическое слияние.Вам нужно всего лишь добавить

manifestmerger.enabled=true

в ваш project.properties. Использование нового свойства manifestmerger в Android также обсуждает это.

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

...