Android Studio'da Harici Kütüphanelerde Kavanoz Ekleme


Yanıtlar:


320

Bu soruya derinlemesine bir cevap vermeyi düşünmeme rağmen geç bir cevap. Bu yöntem Android Studio 1.0.0 ve üstü için uygundur.


ADIMLARI


  1. Öncelikle klasör yapınızı Android'den Project'e geçirin .

resim açıklamasını buraya girin

  1. Şimdi app - build klasörü içindeki libs klasörünü arayın .

resim açıklamasını buraya girin

  1. .Jar dosyasını libs klasörüne yapıştırdıktan sonra. Jar dosyasına sağ tıklayın ve sonunda Kitaplık olarak ekle'ye tıklayın . Bu işlem build.gradle dosyasına derleme dosyaları ('libs / library_name.jar') eklemeyle ilgilenir [Bunu derleme dosyanıza manuel olarak girmeniz gerekmez].

resim açıklamasını buraya girin

Artık projenizdeki kütüphaneyi kullanmaya başlayabilirsiniz.


3
Android Studio 3.0.1
Shylendra Madda

3
Evet, şimdi buldum, eğer zaten eklenmişse bu seçenek gösterilmeyecektir.
Shylendra Madda

Mükemmel sorunumu
giderdi

138

Jar dosyanızı klasöre ekleyin app/libs. Ardından jar dosyasını sağ tıklayın ve "kitaplık olarak ekle" yi tıklayın.

Hiçbir yoksa libsklasör bunu oluşturabilirsiniz. "Android" yazan birleşik giriş kutusunu tıklayın ve "Project" olarak değiştirin

resim açıklamasını buraya girin

Buradan, dizin ağacındaki "uygulamalar" ı sağ tıklayıp "Yeni" => "Dizin"


36
Bir lib klasörü bulamazsanız, "android" yazan birleşik giriş kutusuna tıklayın ve "Project" i seçin. (bu düğme proje gezgininin üstünde)
Gayan Weerakutti

2
Daha sonra "libs" klasörünü bulmak için Projenizi genişletebilir veya projenize sağ tıklayıp yeni bir dizin oluşturabilirsiniz. Daha sonra işletim sistemi dosya yöneticinizi kullanarak kütüphanenizin JAR dosyasını bu dizine taşıyabilirsiniz. (Teşekkürler, beni başlatmak için @reversiblean!)
Richard

@ Reversiblean'in yorumu için +1 - varsayılan görünüm "Proje" değil "Proje Dosyaları" dır ve bu görünüm "app / libs" klasörünü göstermez, ancak oluşturmanıza da izin vermez.
Jules

4
Android Studio
3.0.1'de

1
@Thinsky Evet, buldum, eğer zaten eklenmişse bu seçenek gösterilmez.
Shylendra Madda

63

JAR'inizi app / libs içine koyun ve app / build.gradle içine dependenciesbölümü ekleyin :

compile fileTree(dir: 'libs', include: ['*.jar'])


"değerler \ my_folder \ myjar.jar" gibi başka bir yol / Kendi yolumu seçebilir miyim ??? çünkü android stüdyosunun kaynak kodu üzerinde çalışıyorum.
Sanket Prabhu

Sadece 'dir' değerini değiştirmeniz gerekir (bu yüzden 'libs'i ihtiyacınız olanla değiştirin).
Gaëtan

1
derleme kullanımdan kaldırıldı
Deepak Samuel Rajan

1
Evet, Deepak doğrudur - 'derleme' kullanımdan kaldırılmıştır ... bu yüzden onu sadece 'uygulama' ile değiştirin ve iyi çalışması gerekir.
Mark

40

Uygulama dizininde "libs" klasörü oluşturun jar dosyanızı libs klasörüne kopyalayın Android Studio'daki jar dosyanıza sağ tıklayın ve Farklı Kütüphaneye Ekle ... Sonra build.gradle dosyasını açın ve ekleyin:

dependencies {
    implementation files('libs/your jar file.jar')
}

1
Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
Michael

20

Adım 1: Projeniz için herhangi bir JAR dosyasını indirin.resim açıklamasını buraya girin

Adım 2: .jar dosyasını ve geçmişini libs klasörüne kopyalayın.

resim açıklamasını buraya girin resim açıklamasını buraya girin

Adım 3: Dosya> Proje Yapısı> Uygulama seç> Bağımlılıklar'ı tıklayın

resim açıklamasını buraya girin

4. Adım:

resim açıklamasını buraya girin

Adım 5:

resim açıklamasını buraya girin

Adım 6: Tamam düğmesine tıkladıktan sonra Bağımlılıkların bu şekilde eklendiğini görebiliriz:

resim açıklamasını buraya girin


13

Ayrıştırma kavanozu örneği ...

Proje görünümünden libs klasörüne kavanoz ekleyin… yoksa lib klasörü oluşturun

resim açıklamasını buraya girin

Tüm kavanozları oraya kopyala ...

Build.gradle dosyasında gradle .... öğesine libs ekleyin:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:percent:23.0.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile fileTree(dir: 'libs', include: 'Parse-*.jar’)
}

Tüm lib klasörü kavanozlarını eklemek için ... Ayrıştırma - *. Kavanozunu * .jar olarak değiştirin


11

.jarAndroid Studio 2.1.3'te dosya ekleyebilirsiniz .

  1. .Jar dosyasını kopyalayın jar dosyası kopyalama ekran görüntüsü

  2. dosyayı Libs klasörüne yapıştırın ve .jar dosyasına sağ tıklayın ve Add as library resim açıklamasını buraya girin

  3. açık build.gradle resim açıklamasını buraya girin

  4. ekran görüntüsünde gösterildiği gibi bağımlılıkların altına satır ekleme resim açıklamasını buraya girinresim açıklamasını buraya girin

  5. Şimdi oynat düğmesine basın ve .jar dosyası eklemeyi tamamladınız resim açıklamasını buraya girin


(En azından AS 2.3 ile) Adım 3 ve 4'ü atlayabilirsiniz. AS, JAR'ı build.gradle bağımlılıklarınıza otomatik olarak ekler.
Wing Poon

2
3. ve 4. adımları atlayın, ardından Dosya-> Proje Yapısı-> app-> bağımlılıklar-> + -> jar bağımlılıklarını tıklayın ve jar dosyasını seçin. benim için işi
Jhohannes Purba

3

GUI tabanlı yaklaşım, projenize ek bir modül eklemek olacaktır.

  1. Dosya menüsünden Proje Yapısı'nı seçin ve sol üstteki yeşil artı simgesine tıklayın.
  2. Yeni Modül iletişim kutusu açılır
  3. Telefon ve tablet uygulama grubundan "JAR veya AAR paketini içe aktar" seçeneğini seçin ve İleri'ye tıklayın.
  4. JAR dosyanızı içeren yeni bir modül oluşturmak için adımları izleyin.
  5. Ana projenize karşılık gelen girişi tıklayın ve bağımlılıklar sekmesini seçin.
  6. 4. adımda oluşturduğunuz modüle bir bağımlılık ekleyin.

Son bir tavsiye. Eklediğiniz JAR dosyasının en fazla JDK 1.7 ile oluşturulduğundan emin olun . "Com.android.dx.cf.iface.ParseException: hatalı sınıf dosyası sihri (cafebabe) veya sürüm (0034.0000)" hata iletisiyle ilgili birçok sorun doğrudan bunun için: 0.


Diğer yanıtların söylediği gibi bu yaklaşımın "kopya-kavanozdan-kütüphaneye kopyala" klasör yaklaşımından daha iyi olduğunu onaylıyor musunuz?
Eido95

@ Eido95 2015 yılında bunu nasıl yaptım. Bir Android uygulamasına JSON ayrıştırmayı dahil etmeye çalıştığımı hatırlıyorum ve bu gerçekten işe yaradı.
thanassis

Basit harici JAR ilavesi için sizce hangi yaklaşımı kullanmamı önerirsiniz?
Eido95

3

Jar dosyası Android Studio Adımları eklemenin basit bir yolu:

  1. Jar dosyanızı kopyalayıp projenizin libs klasörüne yapıştırın.
  2. Dosya menüsünden Dosya -> Proje Yapısı'na tıklayın (Windows / Linux'ta CTRL + ÜST KRKT + ALT + S, Mac OS X'te ⌘ +;).
  3. Sol paneldeki Modüller'i seçin -> Bağımlılıklar sekmesi.
  4. Ekle ... → Proje Kütüphanesi → Kavanoz Ekle.

3

Herhangi biri jar dosyalarını proje dizinine gerçekten kopyalamadan başka bir çözüm arıyorsa, örneğin birden fazla projede bir kavanoz kullanırken: build.gradle dosyasını

açın ve ekleyin

def myJarFolder = 'C:/Path/To/My/Jars'

[...]

dependencies {
    [...]
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
    [...]
}

Tabii ki myJarFolder değişkenini kullanmak zorunda değilsiniz , ben olsa yararlı buluyorum. Yol göreli de olabilir, örneğin ../../Path/To/My/Jars .
AndroidStudio 3.0 ile test edildi

Güncelleme: Gradle Plugin> 3.0 için derleme yerine uygulamayı kullanın :

dependencies {
        [...]
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
        [...]
    }

Bununla ilgili bir sorunum var. Ben bir kütüphane yapıyorum ve kütüphaneye bağlı uygulama NoClassDefFoundError içine çalışıyor. Ben de desugaring için sınıf bulamamak etrafında birçok hata alıyorum
tricknology

3

Android Studio sürüm 3.0 veya daha fazla ben aşağıdaki gibi kullandım:

  1. Aşağıdaki gibi bir klasör yoksa uygulama dizinine kütüphaneler oluşturun
    • Projeye git
    • Uygulamaya Git
    • uygulamalar-> Yeni-> Dizin'i tıklayın
    • klasör kütüphanelerini adlandırdı
    • yapıştırmak kavanoz için libs klasörüne
    • görüntü benzeyecek resim açıklamasını buraya girin

2. build.gradle feryat satırları ekleyin

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation files('libs/com.ibm.icu_3.4.4.1.jar')

1

"Kitaplık Olarak Ekle" seçeneğini görmüyorsanız, dosyanızın olması mail.jarve olmaması için dosyanızı ayıkladığınızdan (sıkıştırmasını açtığınızdan) emin olun mail.zip.

Ardından dosyanızı sağ tıklayın ve "Kitaplık olarak ekle" seçeneğini görebilirsiniz.


1

Lütfen build.gradle dosyasında jar dosyasının konumunu belirtin

implementation fileTree(dir: '<DirName>', include: ['*.jar'])

Misal:

implementation fileTree(dir: 'C:\Downloads', include: ['*.jar'])

Tek kavanoz dosyası eklemek için

implementation files('libs/foo.jar')

Not: derleme son sınıfta kullanımdan kaldırılmıştır, dolayısıyla bunun yerine uygulamayı kullanın.


0

Harici bir kütüphane olarak android projenize bir kavanoz eklemek için "resmi yolu" , build.gradle bağımlılıklar {} bölümünde kavanoz eklemektir .

Yukarıdakilerin tümünü yaptıysanız ve yukarıdakilerin hiçbirini yapmazsanız, başka iki olasılık daha vardır:

  1. Android Studio veya başka bir IDE, düzenleyicide kırmızı altı çizili hatalar vermez, ancak Java Derleyicisinde hata olarak çalışırsa, KENDİNİZİ KONTROL EDİN . Kavanoza uygun bir Manifest dahil olmayabilir , bu nedenle derleyici kavanozun ne sağlayabileceğini bilmiyor / paket adını bilmiyor
  2. Belki de klasör yapısı bozulmuştur. Klasör yapısı paket adıyla eşleşmiyor. package a.b.c;a> klasör b> klasör c ile eşleşmelidir.
  3. Paket adı bazı çakışma var. (Güven bana, bu başıma geldi ve bunu anlamak saatler sürdü.)

Bununla birlikte, cordova ile gidiyorsanız , dış kavanoz eklemenin bazı ipuçları.

" build-extras.gradle ", gradle dosyanızı yönetmenin daha iyi bir yoludur.

Cordova tabanlı android projesinde ekstra ayarları yönetmeye yönelik adımlar şunlardır:

  1. Kavanozunuzu build-extras.gradle'a ekleme:
    //Other settings go here, e.g.: buildscript { ... }
    ext.postBuildExtras = {
    // you may have some other settings, e.g.: android { ... }
            dependencies {
                    compile files('libs/abc.jar')
            }
    }

(Burada daha ayrıntılı adımlar: Cordova gradle dosyasını google hizmetlerini içerecek şekilde genişletme )

  1. Terminalde şunları yapın:

cordova build android

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.