Лучший способ включить Volley (или другую библиотеку) в проект Android Studio

81

Я видел разные советы, как лучше всего это сделать. Этот вопрос касается создания баночки. В другом месте я видел совет просто скопировать исходный код залпа в свой собственный проект. Этот раздел библиотек на android.com кажется наиболее авторитетным. Однако после компиляции залпа у меня нет библиотеки aal, тогда как в этом разделе написано, что должна быть.

Итак, мой вопрос таков: у меня есть существующий проект Android Studio со стандартным макетом и репозиторий git; что мне делать, чтобы добавить залп? Где мне его скачать? Как мне добавить его в Android Studio? Какие файлы Gradle, если они есть, мне нужно изменить.

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

-

Обновление , по предложению Скотта Барта.

Эта строка есть в файле gradle.build в репозитории volley.

apply plugin: 'android-library'

Согласно документации : « Проекты библиотеки не генерируют APK, они генерируют пакет .aar (что означает архив Android)». Однако, когда я создаю проект volley, не создается .aar.

Мне кажется, что, поскольку Volley - это проект библиотеки, созданный командой Android, он, скорее всего, предназначен для создания и использования в качестве пакета .aar. Мы будем благодарны за любые советы о том, было бы предпочтительнее создать .aar и как это сделать.

user3185563
источник
возможный дубликат Android Studio + Volley
Скотт Барта
Это должно помочь вам добраться до цели. Если вы все еще застряли и у вас возникли проблемы, уточните свой вопрос или задайте новый, если он существенно отличается.
Скотт Барта
Если вы хотите использовать Volley в качестве модуля зависимости, вы можете ссылаться на ссылку .
cmoaciopm
Обратите внимание, что ссылка @ ScottBarta была отмечена как дубликат сетевой библиотеки Android Volley .
Брайан Марик
Подробное объяснение этого можно найти
Arpit Ratan

Ответы:

125

ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ:

Вместо этого используйте официальную версию от jCenter.

dependencies {
    compile 'com.android.volley:volley:1.0.0'
}

Приведенные ниже зависимости указывают на устаревший залп, который больше не поддерживается.

ОРИГИНАЛЬНЫЙ ОТВЕТ

Вы можете использовать это в разделе зависимостей вашего файла build.gradle, чтобы использовать залп

  dependencies {
      compile 'com.mcxiaoke.volley:library-aar:1.0.0'
  }

ОБНОВЛЕНО:

Это не официальный, а зеркальная копия официального Volley. Он регулярно синхронизируется и обновляется с официальным репозиторием Volley, поэтому вы можете без проблем использовать его.

https://github.com/mcxiaoke/android-volley

Pyus13
источник
7
Обратите внимание, что импорт не является официальным репо для Volley. Это просто кое-что, что кто-то загрузил в maven central. (AFAIK)
pjco
2
я знаю этого человека, но нет разницы, просто зеркало, точно такое же и синхронизированное с официальным репозиторием volley 1.0.1 (обновлено 2014.02.13). В этом прелесть открытого исходного кода, поэтому не волнуйтесь, вы можете его использовать. github.com/mcxiaoke/android-volley
pyus13
16
Не пытаюсь навлечь на всех параноиков, но сопровождающий этого репозитория может довольно легко проскользнуть в какую-нибудь теневую вещь ... Действуйте осторожно, если вы лично не проверяете репозиторий.
mgalgs
1
В чем разница между этими двумя ссылками так? Спасибо. http://mvnrepository.com/artifact/com.mcxiaoke.volley/library http://mvnrepository.com/artifact/com.mcxiaoke.volley/library-aar
user1510006 07
8
Пожалуйста, посмотрите мой ответ ниже, теперь есть официальная цель Volley, опубликованная Google ( com.android.volley:volley:1.0.0)
Сэм Стерн,
138

Как отмечали и другие, Volley официально доступен на Github :

Добавьте эту строку в свои зависимости gradle для залпа:

compile 'com.android.volley:volley:1.0.0'


Чтобы установить залп из исходников, читайте ниже:

Мне нравится держать в своем приложении официальный репозиторий волейбола. Таким образом, я получаю его из официального источника и могу получать обновления, не зависящие от кого-либо еще и смягчая опасения, высказанные другими людьми.

Добавлен залп как подмодуль вместе с приложением.

git submodule add -b master https://github.com/google/volley.git volley

В моем settings.gradle я добавил следующую строку, чтобы добавить залп как модуль.

include ':volley'

В моем app / build.gradle я добавил зависимость компиляции для проекта залпа

compile project(':volley')

Это все! Теперь Volley можно использовать в моем проекте.

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

git submodule foreach git pull
шаувик
источник
7
Почему это не лучшее решение? На мой взгляд, вы получаете официальную версию, простые обновления и семантическую связь между вашим проектом и его зависимостями. Есть ли веская причина для выбора других методов, или просто другие методы являются стандартной процедурой в сообществе Android?
Андреас Хаген
2
Я думаю, что это предпочтительное решение, но оно не задокументировано должным образом в Google. Кроме того, помимо других проблем безопасности, упомянутых выше, получение его из официального источника дает вам возможность обновлять библиотеку (как можно скорее или так поздно, как вам нравится).
Shauvik 01
3
большое спасибо. единственное, что мне нужно было добавить, это расположение библиотеки залпа в settings.gradle: project (': volley'). projectDir = new File ('libraries / volley'), потому что я поместил его в папку с библиотеками
Бьорн Кечел,
Большое спасибо ! Это должен быть официальный ответ
Вивек Сингх
Нет необходимости запрашивать контроль версий для выполнения работы диспетчера пакетов.
Рикки Гибсон
26

В наше время

dependencies {
    compile 'com.android.volley:volley:1.0.0'
}   

Множество разных способов сделать это в прошлом (оригинальный ответ)

  • Используйте исходные файлы из git (здесь описан скорее ручной / общий способ)

    1. Загрузите / установите клиент git (если его еще нет в вашей системе): http://git-scm.com/downloads (или через git clone https://github.com/git/git... очень плохой, но не устоял ^^)
    2. Выполнить git clone https://android.googlesource.com/platform/frameworks/volley
    3. Скопируйте comпапку изнутри в папку с [path_where_you_typed_git_clone]/volley/srcвашими проектами app/src/main/java(вместо этого интегрируйте ее, если у вас там уже есть папка com !! ;-))

    Файлы сразу появляются в Android Studio. Для Eclipse вам нужно будет сначала зайти right-clickв srcпапку и нажать refresh(или F5).

  • Используйте gradle через "неофициальное" зеркало maven

    1. В src/build.gradleфайле вашего проекта добавьте следующую зависимость от залпа:

      dependencies {
          compile fileTree(dir: 'libs', include: ['*.jar'])
          // ...
      
          compile 'com.mcxiaoke.volley:library:1.+'
      }
      
    2. Нажмите на то, Try Againчто должно сразу появиться в верхней части файла, или просто на Buildнего, если нет

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

    С другой стороны, это официально не Google, а стороннее еженедельное зеркало.

    Но оба этих момента действительно связаны с тем, что вам нужно / нужно. Также, если вам не нужны обновления, просто поместите туда желаемую версию, например compile 'com.mcxiaoke.volley:library:1.0.7'.

Левит
источник
В Android Studio 1.0.2 вам не нужно щелкать правой кнопкой мыши банку, чтобы добавить ее. Правила Gradle по умолчанию добавляют его автоматически. Кроме того, если вы новый пользователь Studio, вы можете быть удивлены, что jar не отображается в представлении проекта. Он отфильтрован настройкой «Android» в счетчике чуть выше представления. Измените его на «Проект», чтобы увидеть, что вы действительно чего-то достигли.
Брайан Марик,
Полезно знать, спасибо! Убрал это из ответа! Но , как замечание для пользователей бета - версии: Если вы выбираете первый вариант (добавление его в библиотеке), вам необходимо будет также right-clickв volley.jarпределах libsпапки в Android Studio, и выбрать , Add As Library...чтобы он доступен в вашем проекте.
Левит
1
@Levit, что касается второго пункта - «Использовать исходные файлы из git (скорее ручной / общий способ, описанный здесь)». Я использую студию Android. Я добавил библиотеки в мой проект и отредактировал settings.gradle и зависимости. Он работает нормально, но я получаю сообщение о том, что обнаружен незарегистрированный корень Vcs, находится под git, но не зарегистрирован в настройках, не могли бы вы объяснить это, пожалуйста,
Эрсен Осман,
@johncarter: со вторым маркером / способом у вас все должно быть в порядке, просто поместив его в нужную папку, без редактирования ваших настроек и зависимостей. Но есть также более или (скорее) менее исчерпывающее руководство по этому пути на AndroidDevelopers: developer.android.com/training/volley
Levite
2
Спасибо за отличный ответ. Метод Volley.jar у меня сработал из коробки!
Винсент Мэтью 02
11

На сегодняшний день в JCenter доступна официальная копия Volley для Android:

compile 'com.android.volley:volley:1.0.0'

Это было скомпилировано из исходного кода залпа AOSP.

Сэм Стерн
источник
Спасибо за публикацию! Это должно быть отмечено как правильный ответ.
Дэвид Лорд
5

ОБНОВИТЬ:

compile 'com.android.volley:volley:1.0.0'

СТАРЫЙ ОТВЕТ. В build.gradle модуля вашего приложения вам понадобится следующее:

dependencies {
        compile 'com.mcxiaoke.volley:library:1.0.19'
        (Rest of your dependencies)

    }

Это не официальное репо, но пользуется большим доверием.

Сотти
источник
1
Осторожно. Размещенная здесь библиотека для игры в волейбол устарела и официально не размещена. Смотрите мой пост внизу.
Shauvik
1

Для включения залпа в студию Android,

  1. вставьте следующую команду в терминал (
    git clone https://android.googlesource.com/platform/frameworks/volley ) и запустите ее.

    Обратитесь к руководству разработчика Android для этого.

    Это создаст залп с именем папки в каталоге src.
  2. Затем перейдите в студию Android и щелкните проект правой кнопкой мыши.
  3. выберите New -> Module из списка.
  4. Затем нажмите на импорт существующего проекта из списка ниже.
  5. вы увидите область ввода текста, а именно исходный каталог, просмотрите папку, которую вы загрузили (залп), а затем нажмите «Готово».
  6. в представлении проекта вы увидите залп из папок.
  7. переключитесь на представление Android и откройте файл build: gradle (Module: app) и добавьте следующую строку в область зависимостей:

    скомпилировать com.mcxiaoke.volley: library-aar: 1.0.0 '

  8. Теперь синхронизируйте свой проект, а также создайте свой проект.

Мукул Аггарвал
источник
0

Я создал Volley как отдельный проект. Таким образом, он не привязан к какому-либо проекту и существует независимо.

У меня также есть сервер Nexus (внутреннее репо), поэтому я могу получить доступ к залпу как
компиляцию com.mycompany.volley: volley: 1.0.4 в любом проекте, который мне нужен.

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

Мне очень нравится такой подход.

Саюж Валсан
источник
0

Добавить

compile 'com.mcxiaoke.volley:library:1.0.19'
        compile project('volley')

в зависимостях в файле build.gradle вашего приложения

НЕ БЕСПОКОИТЬ ФАЙЛ build.gradle ВАШЕЙ БИБЛИОТЕКИ. ЭТО ФАЙЛ GRADLE ВАШЕГО ПРИЛОЖЕНИЯ, ТОЛЬКО ВАМ НУЖНО ИЗМЕНИТЬ

Arushe
источник