Найкращий спосіб включити Volley (або іншу бібліотеку) у проект Android Studio


81

Я бачив різні поради щодо найкращого способу зробити це. Це питання стосується створення баночки. В іншому місці я бачив пораду просто скопіювати джерело залпу у свій власний проект. Цей розділ про бібліотеки на android.com здається найбільш авторитетним. Однак, після складання залпу, у мене немає ааль-бібліотеки, тоді як у цьому розділі сказано, що я мав би.

Отже, моє запитання таке: у мене є вже існуючий проект Android Studio зі стандартним макетом та сховищем git; що мені робити, щоб додати залп? Куди його завантажити? Як мені додати його в Android Studio? Які файли Gradle, якщо вони є, мені потрібно змінити.

Сподіваємось, для тих з вас, хто зробив це кілька разів, це має бути хліб-масло, але я не зміг знайти прямого опису.

-

Оновлення , за пропозицією Скотта Барти.

Файл gradle.build у сховищі залпів має цей рядок.

apply plugin: 'android-library'

Згідно з документацією : " Бібліотечні проекти не генерують файл .apk, вони генерують пакет .aar (що означає архів Android). " Однак, коли я будую проект залпу, .aar не створюється.

Я відчуваю, що, оскільки Volley - це бібліотечний проект, створений командою Android, він, швидше за все, призначений для генерації та використання як .aar-пакету. Будемо вдячні за будь-яку пораду щодо того, чи бажано створити .aar, і як це зробити.


можливий дублікат Android Studio + Volley
Скотт Барта

Це повинно принести вам більшу частину шляху. Якщо ви все ще застрягли і маєте проблеми, уточніть своє запитання або задайте нове, якщо воно суттєво відрізняється.
Скотт Барта,

Якщо ви хочете використовувати Volley як модуль залежностей, ви можете посилатися на посилання .
cmoaciopm

Зауважте, що посилання @ ScottBarta позначено як копію мережевої бібліотеки android .
Брайан Марік

Існує дуже детальне пояснення цього в наступному посиланні: gitsubmoduleasandroidtudiomodule.blogspot.in
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. Він регулярно синхронізується та оновлюється з офіційним сховищем волейболу, щоб ви могли продовжувати користуватися ним без будь-яких турбот.

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


7
Варто зазначити, що це не офіційне репо для Volley. Це просто те, що хтось завантажив у maven central. (AFAIK)
pjco

2
я знаю, що людина, але немає різниці лише у дзеркалі, точно такому ж і синхронізованому з офіційним сховищем залпу 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

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'

У своєму додатку / build.gradle я додав залежність компіляції для проекту залпу

compile project(':volley')

Це все! Зараз у моєму проекті можна використовувати залп.

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

git submodule foreach git pull

7
Чому це не найкраще рішення? Як я бачу, ви отримуєте офіційну версію, прості оновлення та смисловий зв’язок між вашим проектом та його залежностями. Чи є якась вагома причина для вибору інших методів, чи це просто те, що інші методи є стандартною процедурою в спільноті Android?
Андреас Хаген,

2
Я думаю, що це найкраще рішення, але не задокументоване належним чином Google. Крім того, крім інших згаданих вище проблем безпеки, отримання їх від офіційного джерела дає вам змогу контролювати оновлення бібліотеки (якнайшвидше або як можна пізніше).
shauvik

3
щиро дякую. Єдине, що мені потрібно було додати, це розташування бібліотеки волейболу в settings.gradle: project (': volley'). projectDir = new File ('libraries / volley'), тому що я помістив його в папку бібліотек
Björn Kechel

Щиро дякую ! Це має бути офіційна відповідь
Vivek Singh

Не повинно бути необхідністю просити контроль версій виконувати роботу менеджера пакунків.
Ріккі Гібсон,

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... sry поганий, але не зміг встояти ^^)
    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, ви можете бути здивовані тим, що баночка не відображається у поданні проекту. Це відфільтровано за допомогою налаштування "Android" у вертушці безпосередньо над видом. Змініть його на "Проект", щоб побачити, що ви насправді щось зробили.
Брайан Марік

Приємно знати, thx! Вилучено з відповіді! Але , як зауваження для користувачів бета - версії: Якщо ви вибираєте перший варіант (додавання його в бібліотеці), вам необхідно буде також right-clickв volley.jarмежах libsпапки в Android Studio, і вибрати , Add As Library...щоб він доступний у вашому проекті.
Левіт

1
@Levit, Що стосується другого пункту - "Використовувати вихідні файли з git (досить ручний / загальний спосіб, описаний тут)" Я, використовуючи android studio, додав бібліотеки до свого проекту та відредагував settings.gradle та залежності. Він працює нормально, але я отримую повідомлення про те, що виявлений незареєстрований корінь Vcs, знаходиться під git, але не зареєстрований у налаштуваннях, чи можете ви пояснити це, будь ласка
Ерсен Осман

@johncarter: З другим маркером / способом ви повинні бути добре, просто помістивши його у потрібну папку, не редагуючи свої налаштування та залежності. Але існує також більш (або, скоріше,) менш вичерпний посібник щодо цього шляху на розробниках
Левіт

2
Дякую за чудову відповідь. Метод Volley.jar у мене спрацював нестандартно!
Вінсент Метью,

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

Для включення волейболу в андроїд-студії,

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

    Для цього зверніться до підручника для розробників Android .

    Це створить назву папки vole у каталозі src.
  2. Потім перейдіть до android studio та клацніть правою кнопкою миші на проекті.
  3. виберіть зі списку Створити -> Модуль.
  4. Потім натисніть на імпорт існуючого проекту з наведеного нижче списку.
  5. Ви побачите область введення тексту, а саме вихідний каталог, перегляньте папку, яку ви завантажили (залпом), а потім натисніть на Готово.
  6. ви побачите залп папки у поданні вашого проекту.
  7. переключіться на перегляд Android та відкрийте файл build: gradle (Модуль: додаток) і додайте наступний рядок в області залежностей:

    компілювати 'com.mcxiaoke.volley: library-aar: 1.0.0'

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


0

Я створив Volley як окремий проект. Таким чином, це не пов'язано з жодним проектом і існує самостійно.

У мене також налаштовано сервер Nexus (внутрішнє репо), щоб я міг отримати доступ до
vole як компіляція 'com.mycompany.volley: volley: 1.0.4' у будь-якому проекті, який мені потрібен.

Щоразу, коли я оновлюю проект Volley, мені просто потрібно змінити номер версії в інших проектах.

Я відчуваю себе дуже комфортно з таким підходом.


0

додати

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

у залежностях, у файлі build.gradle вашого додатка

НЕ ПОТРЕБУЙТЕ файл build.gradle вашої бібліотеки. ТОЛЬКИ ВИ ПОТРІБНО ЗМІНИТИ ФАЙЛ ГРЕДЛУ ВАШОГО ДОПОМОГУ

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.