Я изо всех сил пытаюсь понять, как импортировать проекты библиотеки в Android Studio таким образом, чтобы они были доступны для нескольких проектов. Документация для новой системы сборки подразумевает, что вам необходимо импортировать проекты библиотек в корень проекта, над которым вы работаете:Возможно ли обмен библиотечными проектами между проектами при использовании Android Studio и gradle?
Проекты градлей также могут зависеть от других проектов градиента, используя многопроектную настройку. Установка для нескольких проектов, как правило, работает, имея все проекты, как подпапки данного корня проекта (http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup)
Это проблематично, поскольку, как я уже говорил выше, я хотел бы сохранить часто используемые библиотеки, доступными ко всем текущим и будущим проектам. Например, я в настоящее время пытаюсь интегрировать Volley в новый проект, чтобы оценить его, исходя из предположения, что я захочу использовать его в нескольких других проектах в будущем. Я клонировали его к моему "$ {PROJECT_ROOT} /" папку, которая на том же уровне, на котором я создал мой тестовый проект, давая мне:
$ {PROJECT_ROOT}/TestProject/Тест
$ {PROJECT_ROOT}/залп
После попытки создать файл build.gradle моего проекта различными способами, единственный способ, с помощью которого я смог скомпилировать приложение, - это переместить Volley в основной проект TestProject, предоставив мне:
$ {PROJECT_ROOT}/TestProject/Тест
$ {PROJECT_ROOT}/TestProject/Залп
Не только это мешает мне использовать Volley в других проектах, которые не являются частью TestProject, не дублируя его или не клонируя его во второй раз, но это означает, что git хочет, чтобы я добавил его к репо, которое я установил на root из TestProject.
Как я могу ссылаться на проекты библиотеки в своих проектах Android Studio, не включая их в самих проектах?
Я буду экспериментировать с этим и вернуться к вам. Однако некоторые проекты, такие как ActionBarSherlock, нельзя использовать в качестве JAR - особенно, если вам нужно указать на любой из его включенных стилей, тем и т. Д. Я знаю, что это не самый лучший пример, поскольку теперь появилась новая библиотека совместимости такая же функциональность, но я подозреваю, что есть другие проекты, подобные этому. –
Для проектов библиотек, которые вам не нужно изменять, вы можете попробовать использовать Android Studio для их компиляции в файлы AAR, а затем опубликовать их в своем локальном/интранет-сервере maven. Наконец, добавьте репозиторий локального/интрасети в build.gradle и обратитесь к проекту библиотеки, который вы опубликовали. – azgolfer
azgolfer, я создал репозиторий maven и успешно удалось скомпилировать приложение, которое зависит от библиотек, содержащихся в нем. Сначала я подумал, что этот подход был чрезмерным, но это означает, что другие разработчики в команде избавлены от необходимости выполнять какую-либо конфигурацию (хотя для одиночного разработчика может быть избыточным для запуска репозитория maven локально). По-прежнему существуют проблемы обеспечения репо для удаленного доступа, но ни один из них не может быть преодолен. Если вы обновите свой ответ или опубликуете новый, чтобы отразить его с помощью maven repo, я соглашусь с ним. –