Лучший способ интеграции сторонней библиотеки в Android Studio
Мы можем найти несколько очень хороших библиотек с открытым исходным кодом для Android. Я хочу знать, как лучше всего интегрировать их в наши собственные проекты в Android-студии. Вот несколько основных методов:
- Скопируйте исходный код и файлы ресурсов в наш собственный проект. Нам нужно изменить много кодов (имя пакета, имя в xml и т. Д.)
- Если предоставляются файлы jar, я просто создаю папку libs для своего проекта и копирую файлы jar внутри. И добавьте jar-файл в зависимости настроек модуля. Но, к сожалению, я получил много сообщений об ошибках типа "Gradle: пакет com.google.gson не существует".
Существует ли общее правило для добавления сторонних исходных или jar-файлов в существующий проект студии android? Спасибо
4 ответа
Я предпочитаю использовать центральный репозиторий для управления зависимостями. Таким образом, для gson 2.3
зависимость вы должны добавить к build.gradle
файл:
Укажите, что вы хотите использовать центральный репозиторий maven для своей зависимости
repositories {jcenter()}
добавлять
compile
зависимость отgson 2.6.2
dependencies {compile 'com.google.code.gson:gson:2.6.2'}
Android Studio, а также ваш CI сервер должны легко создать ваш проект. И вы можете продолжить разработку приложений.
Я предпочитаю использовать центральный репозиторий для управления зависимостями, потому что:
- более простое управление областью - некоторые библиотеки предназначены только для тестирования, некоторые должны быть включены в apk, а некоторые являются частью работающей среды (например, самого android.jar)
- более простое управление транзитивными зависимостями - довольно сложно собирать зависимости библиотек, и если вы используете "jar-with-dependencies", вы можете получить сообщение об ошибке "класс уже добавлен" во время dexing
- более легкий репозиторий и более простое обновление зависимостей
Примеры:
- Robolectric jar следует использовать только для юнит-тестирования и не должен быть частью самого apk
- Репозиторий чист из разных папок с банками, оформление занимает гораздо меньше. Нет необходимости скачивать и заменять старые банки на новые
Я должен заметить:
- В Maven Central не так много библиотек, и вы должны приложить некоторые усилия, чтобы использовать их в своем проекте
- Вы могли бы намного проще получить сообщение об ошибке "класс уже добавлен" во время дексирования с подходом центрального репозитория.
- Вы можете смешивать использование зависимостей из центрального репозитория и из папки lib, но я предпочитаю использовать только один способ для простоты
- Положите банку Gson (в моем случае,
gson-2.2.4.jar
) в папку libs - Щелкните правой кнопкой мыши и выберите "Добавить как библиотеку".
- Убедиться, что
compile files('libs/gson-2.2.4.jar')
в вашемbuild.gradle
файл - Сделайте чистую сборку (вы, вероятно, можете сделать это нормально в Android Studio, но чтобы убедиться, что я перешел в терминал к корневой папке моего приложения и набрал
gradlew clean
, Я на Mac OS X, команда может отличаться в вашей системе
Эта серия шагов была взята из Android Studio: Добавить банку в качестве библиотеки? и не мой оригинальный ответ. Я снова публикую их здесь, потому что ваш вопрос был третьим в результатах поиска в Google при поиске этой же темы. Отсюда и копирование.
Все кредиты тому, кто написал шаги.
Скачать и скопировать .jar
файл в libs
затем добавьте одну строку в build.gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this
compile 'com.google.code.gson:gson:2.3.4' ----------> I added this one
}
Не забудьте нажать "Синхронизировать сейчас"
Я использую Android Studio 1.1.0
Загрузите и скопируйте свой jar-файл в папку libs, затем добавьте следующее в файл app.gradle и SYNC.
dependencies {
compile 'com.google.code.gson:gson:{version_you_need}'
}
repositories{
flatDir{
dirs 'libs'
}
}