Я новичок в программировании для Android, и я работаю с Android Studio... теперь я блуждаю, как лучше всего установить библиотеки с открытым исходным кодом из gitHub. мой вопрос с точки зрения принципов организации: должен ли я создать новый пакет для каждой библиотеки и поместить весь исходный код библиотеки как есть в этот пакет? должен ли пакет находиться в папке source.main.java?? (тот, который андроид-студия создает автоматически). извините за глупый вопрос... просто я делаю свои первые детские шаги в крупномасштабной программе, и я не хочу потерять голову в будущем из-за плохой организации.
Использование библиотек с открытым исходным кодом в проектах Android
Ответы (4)
На этот вопрос нет правильного ответа. Несколько неправильных способов сделать это, но здравый смысл поможет вам.
Мой совет:
Начните с регистрации исходного кода этого открытого исходного кода в системе управления исходным кодом вашей компании и возможности его сборки или пересборки по мере необходимости. Не обязательно в вашем проекте, а просто проверьте код, чтобы его нельзя было потерять или спутать с постоянно меняющимися изменениями оригинального автора на GitHub.
Что касается того, как вы его потребляете, у вас есть несколько вариантов.
Создайте открытый исходный код в своем собственном проекте (проверенном в системе управления версиями, но отдельно от вашего основного проекта). Затем просто возьмите скомпилированные файлы (.class, .jar, .lib и т. д.) и загрузите их в свой основной проект. Это наиболее гибкий вариант, если вы не думаете, что вам когда-либо понадобится так часто изменять открытый исходный код. Имеет побочное преимущество в управлении несколькими проектами.
Поместите исходный код как есть прямо в ваш проект. Это означает, что вы всегда будете перестраивать код. Это дает максимальную гибкость при разработке и изменении кода, специфичного для нужд вашего проекта.
Вероятно, есть и гибридные решения этих вариантов.
Суть в том, что все, что вы используете, должно быть скопировано и встроено в вашу собственную систему. Потому что код, который вы вытащили из GitHub, может исчезнуть или существенно измениться в любое время.
Простым решением было бы использовать JitPack для импорта этих проектов GitHub в вашу сборку Gradle.
Сначала вам нужно добавить репозиторий:
repositories {
maven { url "https://jitpack.io" }
}
а затем все репозитории GitHub в качестве зависимостей:
dependencies {
compile 'com.github.RepoOwner:Repo:Version'
// more dependencies...
}
За кулисами JitPack проверит код и скомпилирует его.
Я думаю, вы ищете это. Если вы используете eclipse, вы должны проверить это
Если вы хотите добавить файл jar в свою библиотеку, вы можете просто создать папку lib в своем проекте и добавить файл jar в библиотеку, и вы должны добавить строку compile files('jarfile.jar')
в файл сборки (сборка gradle). Если вы используете eclipse, вы можете следовать этому
Кстати, создавать пакет для каждой библиотеки и размещать исходники всех библиотек мне не кажется разумным. Это почти эквивалентно воссозданию проекта. Я уверен, что это не правильный подход.
Если сторонний код упакован как .jar или .aar и доступен в общедоступном репозитории maven (например, maven Central), вам следует добавить библиотеку в качестве зависимости в файл build.gradle.
Если он недоступен в качестве зависимости maven/gradle, вы можете добавить код библиотеки в свой проект, как это предлагается в других ответах здесь. Мне это решение вообще никогда не нравилось.
Вы также можете создать .jar или .aar и добавить его в каталог lib вашего проекта, как это также предлагается в других ответах здесь. Для небольшого простого проекта с небольшим количеством зависимостей это может иметь смысл.
Что мне нравится делать для более крупных и долгоживущих проектов, так это настраивать свой собственный сервер Nexus (сервер репозитория Maven) и помещать туда сторонние зависимости.