Приложение на основе библиотеки устанавливает 2 APK-файла, а не один. Почему?

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

  1. Первый (и больший файл) имеет исходное имя библиотеки.
  2. Второй (размером всего 20 КБ) имеет производное имя приложения.

Почему так и где я могу узнать больше об этом?

Может ли это объяснить мою проблему с ClassNotFoundException?


person an00b    schedule 13.06.2011    source источник


Ответы (1)


Я нашел ответ сам. Оказывается, у меня были не правильно выставлены 2 критические настройки в Свойствах обоих проектов:

  1. В библиотечном проекте почему-то не стояла галочка "Является библиотекой". Я мог бы поклясться, что проверял, но зная, насколько прихотливой может быть среда разработки Android под Eclipse, подозреваю, что Eclipse (или плагин ADT) ее не проверил в результате какого-то глюка.
  2. В проекте приложения я забыл добавить свой библиотечный проект в качестве ссылки с помощью кнопки «Добавить...». (насколько глупым я мог быть?)

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

person an00b    schedule 13.06.2011
comment
У меня была такая же проблема, и я сделал то, что вы уже указали. Для меня оказалось, что проблема заключалась в том, что у меня была библиотека в пути сборки в дополнение к тому, что она уже была добавлена ​​​​как библиотека. Как только я удалил его из пути сборки, все было хорошо! - person atraudes; 11.07.2011