Ответ 1
Как вы добавляете внешние зависимости jar в свой путь построения проекта Android (внутренне или внешне) не имеют никакого отношения к фактическому процессу сборки (более конкретно, на этапе компиляции и dex), все, что он делает, это сказать процесс сборки, где искать для необходимых банок на этапе компиляции и dex.
Элемент Android Dependencies
, показанный в окне Java Build Path - Libraries
, представляет собой еще один абстрактный слой, который плагин ADT используется для управления/группировки зависимостей jar. где ваши внешние файлы jar (в вашем случае android-support-v4.jar) отображаются (внутри или снаружи Android Dependencies
) в этом окне не имеют значения.
Поскольку r17, управление зависимостями значительно улучшилось, и рекомендуется использовать библиотеки libs/directory для всех jar-зависимостей (см. ваш внутренний путь), который рассматривается как подход к автоматизации (поскольку плагин ADT теперь становится более умным), см. Версия для ADT 17.0.0:
Новые функции построения
- Добавлена возможность автоматической настройки зависимостей JAR. Любые файлы .jar в папке /libs добавляются в конфигурацию сборки (подобно тому, как работает система сборки Ant). Кроме того, файлы .jar, необходимые для проектов библиотек, также автоматически добавляются к проектам, которые зависят от этих проектов библиотеки. (подробнее)
Однако, если вы предпочитаете, вы все равно можете использовать старый способ (см. внешний вид), который рассматривается как ручной подход (поскольку плагин ADT был глупым раньше), см. Последние изменения для выпуска r17:
Важно: если вы все еще ссылаетесь на библиотеки jar вручную вместо того, чтобы помещать их под libs/знать следующее:
Если проект является проектом библиотеки, эти библиотеки jar не будут автоматически видны проектам приложений. Вы действительно должны переместить их в libs/
Если проект является приложением, это может работать, но вы должны обязательно отмечать файлы jar как экспортированные.
Есть ли преимущество в импорте библиотеки таким образом, что она включена в группу "Зависимости Android"?
Автоматизация и руководство с точки зрения управления зависимостями, автоматизация всегда считается более безошибочной, чем руководство в мире информатики.