Использование нового свойства manifestmerger в Android
В новейшей версии ADT (предварительный просмотр версии 20) 3, они говорят, что можно сделать файл манифеста библиотек слитым с проектами, которые их используют:
Автоматическое слияние файлов манифеста проекта библиотеки с включенным манифест проекта. Включить с помощью свойства manifestmerger.enabled.
Как и где его использовать? Я не вижу, чтобы контент помогал мне в этом.
Ответы
Ответ 1
Добавьте следующую строку в файл project.properties
вашего проекта приложения.
manifestmerger.enabled=true
Представлен в Android SDK Tools, Revision 20 (June 2012)
:
https://developer.android.com/studio/releases/sdk-tools
Система сборки
* Добавлено автоматическое слияние файлов манифеста проекта библиотеки в включенный манифест проекта. Включите эту функцию с свойством manifestmerger.enabled
.
Ответ 2
Если вы хотите объединить манифест проекта андроидной библиотеки и свой текущий манифест проекта, вам нужно добавить manifestmerger.enabled=true
в файл project.properties, где вы ссылались на свой проект библиотеки. Но вам следует подтвердить некоторую точку, например, версию ADT. Также минимальный и целевой SDK должен быть таким же, как проект библиотеки.
Ответ 3
FYI:
manifestmerger.enabled = true не будет объединять файлы манифеста, если вы используете экспортированное приложение eclipse.
Как отмечено здесь, это кажется ошибкой.
http://code.google.com/p/android/issues/detail?id=34623
Для меня было немного хлопот, и я правильно настроил сливание. (перезапуск eclipse, откройте закрытый проект..) Чтобы узнать, работает ли слияние, посмотрите файл в. /Your _Main_Project/bin/AndroidManifest.xml. Если слияние сработало, вы увидите полный результат в этом файле.
EDIT: Эта ошибка была исправлена в ADT v20.0.1 (Juli 2012): http://developer.android.com/tools/sdk/eclipse-adt.html p >
Ответ 4
Я сталкивался с некоторыми ошибками во время слияния манифеста (файл R.java пропал без вести), поэтому я явно скопировал содержимое манифеста (например, я скопировал только содержимое активности) из манифеста проекта библиотеки и поместил их в свой основной манифест проекта. Это разрешило ошибку, и все, кажется, хорошо работает до сих пор. Дайте мне знать, если кто-то считает, что это не рекомендуемая альтернатива слиянию манифеста.