Volley'i (veya başka bir kitaplığı) Android Studio projesine dahil etmenin en iyi yolu


81

Bunu yapmanın en iyi yolu hakkında farklı tavsiyeler gördüm Bu soru bir kavanoz oluşturmayı kapsar. Başka bir yerde, voleybol kaynağını kendi projenize kopyalamak için tavsiyeler gördüm. Android.com'daki kütüphanelerle ilgili bu bölüm en yetkili görünecektir. Ancak, voleybolu derledikten sonra bir aal kütüphanem yok, oysa o bölüm olmalı diyor.

Öyleyse sorum şu: Standart bir düzene sahip mevcut bir Android Studio projem ve bir git depom var; voleybolu eklemek için ne yapmalıyım? Nereye indirmeliyim? Bunu Android Studio'ya nasıl eklemeliyim? Varsa hangi Gradle dosyalarını değiştirmem gerekiyor?

Umarım, bunu birkaç kez yapmış olanlar için, bu ekmek ve tereyağlı şeyler olmalı, ancak açık bir tanım bulamadım.

-

Scott Barta'nın önerisine göre güncelleniyor .

Volley deposundaki gradle.build dosyası bu satıra sahiptir.

apply plugin: 'android-library'

Belgelere göre : " Kitaplık projeleri bir APK oluşturmaz, bir .aar paketi oluşturur (Android arşivi anlamına gelir). " Ancak, voleybol projesini oluşturduğumda .aar oluşturulmaz.

Benim düşünceme göre Volley, Android ekibi tarafından oluşturulmuş bir kütüphane projesi olduğu için büyük olasılıkla .aar paketi olarak oluşturulması ve kullanılması amaçlanıyor. Bir .aar oluşturmanın tercih edilip edilmeyeceği ve bunun nasıl yapılacağı konusunda herhangi bir tavsiye memnuniyetle karşılanacaktır.



Bu sizi oraya en çok götürür. Hala takılıp kalıyorsanız ve sorun yaşıyorsanız, sorunuzu düzeltin veya büyük ölçüde farklıysa yeni bir soru sorun.
Scott Barta

Volley'i bağımlılık modülü olarak kullanmak istiyorsanız linke başvurabilirsiniz .
cmoaciopm

@ ScottBarta'nın bağlantısının, voleybolu android ağ kitaplığının bir kopyası olarak işaretlendiğini unutmayın .
Brian Marick

Bunu başarmak için aşağıdaki bağlantıda çok ayrıntılı bir açıklama var: gitsubmoduleasandroidtudiomodule.blogspot.in
Ratan

Yanıtlar:


125

SON GÜNCELLEME:

Bunun yerine jCenter'ın resmi sürümünü kullanın.

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

Aşağıdaki bağımlılıklar, artık sürdürülmeyen kullanımdan kaldırılmış voleybola işaret etmektedir.

ORİJİNAL CEVAP

Voleybolu kullanmak için bunu build.gradle dosyanızın bağımlılık bölümünde kullanabilirsiniz.

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

GÜNCELLENMİŞ:

Resmi değil ancak resmi Voleybolun ayna kopyası. Resmi Volley Deposu ile düzenli olarak senkronize edilir ve güncellenir, böylece endişelenmeden kullanmaya devam edebilirsiniz.

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


7
Bunun Volley için resmi bir repo olmadığını unutmayın. Bu sadece birinin Maven Central'a yüklediği bir şey. (AFAIK)
pjco

2
ya bu adamı biliyorum ama sadece bir ayna yok, tamamen aynı ve resmi voleybol deposu1.0.1 ile senkronize (2014.02.13'te güncellendi). Açık kaynağın güzelliği bu yüzden kullanabilirsiniz endişelenmeyin. github.com/mcxiaoke/android-volley
pyus13

16
Herkes için paranoyaklaşmaya çalışmamak, ancak bu deponun bakımcısı bazı gölgeli şeylerde kolayca kayabilir ... Depoyu kişisel olarak denetlemiyorsanız dikkatli olun.
mgalgs


8
Lütfen aşağıdaki cevabıma bakın, artık Google tarafından yayınlanan resmi bir Volley hedefi var ( com.android.volley:volley:1.0.0)
Sam Stern

138

Başkalarının da belirttiği gibi, Volley resmi olarak Github'da mevcuttur :

Voleybol için gradle bağımlılıklarınıza bu satırı ekleyin:

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


Voleybolu kaynaktan kurmak için aşağıyı okuyun:

Resmi voleybol havuzunu uygulamamda tutmayı seviyorum. Bu şekilde resmi kaynaktan alıyorum ve başka kimseye bağlı kalmadan ve başkalarının ifade ettiği endişeleri azaltmadan güncellemeleri alabiliyorum.

Uygulamanın yanında bir alt modül olarak voleybolu eklendi.

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

Benim settings.gradle'da, voleybolu modül olarak eklemek için aşağıdaki satırı ekledim.

include ':volley'

App / build.gradle dosyamda volley projesi için bir derleme bağımlılığı ekledim

compile project(':volley')

Bu kadar! Voleybol artık projemde kullanılabilir.

Volley modülünü Google'ın deposu ile her senkronize etmek istediğimde, bunu çalıştırıyorum.

git submodule foreach git pull

7
Neden bu tercih edilen çözüm değil? Gördüğüm kadarıyla resmi sürümü, kolay güncellemeleri ve projeniz ile bağımlılıkları arasında anlamsal bir bağ elde ediyorsunuz. Diğer yöntemleri seçmek için iyi bir neden var mı yoksa diğer yöntemlerin Android topluluğunda standart prosedür olması mı?
Andreas Hagen

2
Sanırım bu tercih edilen çözüm ancak google tarafından doğru şekilde belgelenmemiş. Ayrıca, yukarıda bahsedilen diğer güvenlik endişelerinin yanı sıra, resmi kaynaktan almak, kütüphaneyi güncellemenizi kontrol etmenizi sağlar (istediğiniz en kısa sürede veya en geç).
shauvik

3
çok teşekkürler. eklemem gereken tek şey, settings.gradle: project (': volley'] içindeki voleybol kütüphanesinin konumuydu. projectDir = new File ('libraries / volley') çünkü onu bir kütüphaneler klasörüne yerleştirdim
Björn Kechel

Çok teşekkürler ! Resmi cevap bu olmalı
Vivek Singh

Paket yöneticisinin işini yapmak için sürüm kontrolünden istemek gerekli olmamalıdır.
Rikki Gibson

26

Şu günlerde

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

Bunu gün içinde yapmanın birçok farklı yolu (orijinal cevap)

  • Git kaynak dosyalarını kullanın (burada açıklanan oldukça manuel / genel bir yol)

    1. Git istemcisini indirin / kurun (henüz sisteminizde yoksa ): http://git-scm.com/downloads (veya git clone https://github.com/git/git... çok kötü olan, ancak karşı koyamadım ^^)
    2. Yürüt git clone https://android.googlesource.com/platform/frameworks/volley
    3. Kopya comiçinden klasörü [path_where_you_typed_git_clone]/volley/srcprojelerinize app/src/main/javaklasör (zaten varsa, bunun yerine o entegre bir com klasör var !! ;-))

    Dosyalar hemen Android Studio'da görünür. Eclipse right-clickiçin, srcklasöre gitmeniz ve önce refresh(veya F5) tuşuna basmanız gerekir .

  • "Resmi olmayan" maven aynası aracılığıyla gradle kullanın

    1. Projenizin src/build.gradledosyasında aşağıdaki voleybol bağımlılığını ekleyin:

      dependencies {
          compile fileTree(dir: 'libs', include: ['*.jar'])
          // ...
      
          compile 'com.mcxiaoke.volley:library:1.+'
      }
      
    2. Tıklayın Try Againhemen dosyanın üstünde görünmesi gereken, ya da sadece Buildo değilse

    Buradaki ana "avantaj", bunun sizin için sürümü güncel tutması, diğer iki durumda ise voleybolu manuel olarak güncellemeniz gerekmesidir.

    "Dezavantajı" ise resmi olarak Google'dan değil, haftalık üçüncü taraf bir yansımadır.

    Ancak bu noktaların her ikisi de gerçekten ihtiyacınız olan / isteyeceğiniz şeyle ilişkilidir. Ayrıca güncelleme istemiyorsanız, bunun yerine istediğiniz sürümü oraya koyun örn compile 'com.mcxiaoke.volley:library:1.0.7'.


Android Studio 1.0.2'de eklemek için kavanozun üzerine sağ tıklamanız gerekmez. Varsayılan Gradle kuralları bunu otomatik olarak ekler. Ayrıca, yeni bir Studio kullanıcısıysanız, kavanozun Proje Görünümünde görünmemesine şaşırabilirsiniz. Görünümün hemen üzerindeki değer değiştiricide "Android" ayarı tarafından filtrelenir. Aslında bir şeyi başardığınızı görmek için bunu "Proje" olarak değiştirin.
Brian Marick

Bilmek güzel, thx! Cevaptan çıkarıldı! Ama beta kullanıcıları için sözler olarak: İlk seçeneği (kitaplık olarak eklemeden) seçerseniz, aynı zamanda gerekecektir right-clicküzerinde volley.jardahilinde libsAndroid Studio klasör ve tercih Add As Library...projenizde kullanılabilir olması.
Levite

1
@Levit, İkinci madde işareti ile ilgili olarak - "Git kaynak dosyalarını kullan (burada daha ziyade manuel / genel bir yol)" Android stüdyosunu kullanıyorum Projeme kütüphaneleri ekledim ve settings.gradle ve bağımlılıklarını düzenledim. İyi çalışıyor ama kayıtsız Vcs kökü algılandı, git altında, ancak ayarlarda kayıtlı değil diyen bir mesaj alıyorum, lütfen bunu açıklar mısınız
Ersen Osman

@johncarter: İkinci madde işaretiyle / yolla, ayarlarınızı ve bağımlılıklarınızı düzenlemeden onu doğru klasöre yerleştirerek sorun yaşamazsınız. Ancak AndroidDevelopers'ta bu yolla ilgili az çok kapsamlı bir kılavuz da var: developer.android.com/training/volley
Levite

2
Harika cevap için teşekkürler. Volley.jar yöntemi benim için kutudan çıktı!
vincent mathew

11

Bugün itibariyle, JCenter'da Android tarafından barındırılan resmi bir Volley kopyası mevcuttur:

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

Bu, AOSP voleybolu kaynak kodundan derlenmiştir.


Gönderdiğiniz için teşekkürler! Bu doğru cevap olarak işaretlenmelidir.
David Lord

5

GÜNCELLEME:

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

ESKİ CEVAP: Uygulama modülünüzün build.gradle'ında bir sonrakine ihtiyacınız var:

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

    }

Bu resmi bir repo değil ama çok güvenilen bir repo.


1
Dikkat. Burada barındırılan voleybol kütüphanesi güncel değildir ve resmi olarak barındırılmamaktadır. En alttaki yazıma bakın.
shauvik

1

Voleybolu android stüdyosuna dahil etmek için,

  1. Aşağıdaki komutu terminale yapıştırın (
    git clone https://android.googlesource.com/platform/frameworks/volley ) ve çalıştırın.

    Bunun için android geliştirici eğitimine bakın . Src dizininde

    bir klasör adı voleybolu oluşturacaktır .
  2. Ardından android stüdyosuna gidin ve projeye sağ tıklayın.
  3. listeden Yeni -> Modül'ü seçin.
  4. Ardından aşağıdaki listeden mevcut Projeyi içe aktar'a tıklayın.
  5. Bir metin giriş alanı, yani kaynak dizin göreceksiniz, indirdiğiniz klasöre göz atın (voleybol) ve ardından bitir'e tıklayın.
  6. proje görünümünüzde bir klasör voleybolu göreceksiniz.
  7. android görünümüne geçiş yapın ve build: gradle (Module: app) dosyasını açın ve bağımlılık alanına aşağıdaki satırı ekleyin:

    'com.mcxiaoke.volley: library-aar: 1.0.0' derleyin

  8. Şimdi projenizi senkronize edin ve ayrıca projenizi oluşturun.


0

Volley'i ayrı bir Proje olarak kurdum. Bu şekilde herhangi bir projeye bağlı değildir ve bağımsız olarak var olur.

Ayrıca bir Nexus sunucu (Dahili depo) kurulumum var, böylece
ihtiyacım olan herhangi bir projede 'com.mycompany.volley: volley: 1.0.4' derleyerek volley'e erişebilirim .

Volley projesini her güncellediğimde, sadece diğer projelerdeki sürüm numarasını değiştirmem gerekiyor.

Bu yaklaşımda kendimi çok rahat hissediyorum.


0

Ekle

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

bağımlılıklarda, uygulamanızın build.gradle dosyası altında

KÜTÜPHANENİZİN build.gradle DOSYASINI BOZUKLATMAYIN. BU SİZİN UYGULAMANIN SINIF DOSYASI YALNIZCA DEĞİŞTİRMENİZ GEREKİYOR

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.