Вопрос по android-manifest, android, adt, android-library – Использование нового свойства manifestmerger в Android

42

В самой последней версии ADT (версия 20, предварительный просмотр 3) они говорят, что можно сделать библиотеки ». файл манифеста становится объединяемым с проектами, которые их используют:

Automatic merging of library project manifest files into the including project's manifest. Enable with the manifestmerger.enabled property.

Как и где я могу это использовать? Я нигде не вижу, чтобы содержание помогало мне в этом.

Вы можете увидеть объединенный манифест в каталоге bin. В конце концов, он объединяет свойства средства запуска, но каким-то образом не компилируется, потому что приложение не запускается. Peterdk
я думаю так . Я также думаю, что все остальное, как разрешения. android developer
странный . Может быть, вы должны сказать Google об этом. спасибо, что сказали мне, так что если будут проблемы, я буду знать, где их искать. android developer
Кроме того, есть ли информация о том, что он сливается? Я предполагаю деятельность? Peterdk
Я заметил, что он не объединяет свойства запуска, но все действия определенно выполняет. Peterdk

Ваш Ответ

4   ответа
5

manifestmerger.enabled = true не объединит файлы манифеста, если вы используете приложение eclipse export с подписью. Как отмечалось здесь, это похоже на ошибку. 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

Эта ошибка была исправлена в ADT 20.0.1 (июль 2012 года):developer.android.com/tools/sdk/eclipse-adt.html
Вы меня не поняли. это функция, которая просто не работает для меня, даже когда приложение работает без подписи. Я не понимаю. как они могли опубликовать функцию, которая вообще не работает? android developer
действительно ? так почему они сделали эту функцию? я думал, что затмение - лучшая вещь, которую поддерживает Google как IDE. Кроме того, даже без подписи приложения (то есть, просто скомпилировать и запустить из затмения), оно не сработало для меня. android developer
это не особенность, это ошибка. Все было нормально для меня, когда я пытался экспортировать подписанное приложение.
63

Добавьте следующую строку в вашproject.properties файл проекта вашего приложения.

manifestmerger.enabled=true 

Представлено с AndroidSDK Tools, Revision 20 (June 2012):
https://developer.android.com/studio/releases/sdk-tools

Build System
    * Added automatic merging of library project manifest files into the including project's manifest.       Enable this feature with the manifestmerger.enabled property.

В Google есть видео, содержащее эту функцию:youtube.com/… android developer
Чувак, это не работает для меня, к сожалению ... Я добавил эту строку в мой project.properties, но так как я звонюstartActivity в моем коде происходит сбой сActivityNotFoundException... Что я могу сделать, чтобы предотвратить это? Спасибо заранее, приятель.
Мой плохой, я просто добавляюactivity тег в манифесте Libs безapplication тег ... Отлично работает! большое спасибо !
ну, я не подписывал приложение, и у меня все еще было такое поведение. он просто ничего не объединяет. android developer
Благодарю . похоже, что они добавили это в последнее время в свою документацию и видео. Я забыл, что даже задал этот вопрос. android developer
2

java пропал), поэтому поочередно я явно скопировал содержимое манифеста (например, я скопировал только содержимое действия) из манифеста проекта библиотеки и поместил их в свой основной манифест проекта. Это устранило ошибку, и до сих пор все работает хорошо. Дайте мне знать, если кто-то считает, что это не рекомендуемая альтернатива манифестации слияния.

Та же проблема здесь.
Я могу подтвердить, что через 3 года после исправления «ошибка была исправлена» На сегодняшний день у нас все еще есть проблемы со слиянием. Отключение и объединение файлов вручную решило проблему в Eclipse. Никаких проблем с автоматическим объединением Android Studio пока нет.
9

й манифест проекта, вы должны добавитьmanifestmerger.enabled=true в файле project.properties, куда вы ссылались на проект вашей библиотеки. Но вы должны подтвердить, что какая-то точка, такая как версия ADT, также Minimum и целевой SDK должны совпадать с библиотечным проектом.

Я столкнулся с проблемой, что R.java больше не был найден, изменение min и target sdk решило ее для меня. Благодарю.

Похожие вопросы