Android Studio: Kavanoz kitaplık olarak eklensin mi?


1026

Yeni Android Studio'yu kullanmaya çalışıyorum, ancak düzgün çalışmasını sağlayamıyorum.

JSON-nesneleri serileştirmek / serisini kaldırmak için Gson kütüphanesini kullanıyorum . Ancak kütüphane bir şekilde yapıya dahil edilmedi.

Sadece bir MainActivity ile yeni bir proje yaratmıştım . / Libs klasörüne gson-2.2.3.jar kopyalandı ve kitaplık bağımlılığı olarak eklendi (sağ tıklama-> Kitaplık olarak ekle). Bu, kaynak dosyalardan referans alınabilmesi için android stüdyoda kavanoz içerir.

Projeyi çalıştırmaya çalıştığımda derleyemedi, bu yüzden ekledim:

compile files('libs/gson-2.2.3.jar')

de .gradle dosyasındaki bağımlılıklara. Bundan sonra doğru derler ama uygulamayı çalıştırırken bir ClassDefNotFoundException.

Ne yaptığımı bilen var mı?



1
Her ne kadar bu sorunu çözmese de, "derleme" nin "uygulama" lehine kullanımdan kaldırıldığını belirtmek isteriz.
Amir Rezazadeh

Yanıtlar:


1534

Uzun zamandır aynı şeyle uğraşıyorum, Gson kavanozunun daha az çalışmasını sağlamaya çalışıyorum. Sonunda çatladım - İşte attığım adımlar:

  1. Gson kavanozunu (benim durumumda gson-2.2.4.jar) libsklasöre koy
  2. Sağ tıklayın ve 'Kitaplık olarak ekle'yi tıklayın
  3. Emin olun compile files('libs/gson-2.2.4.jar')sizin olduğu build.gradledosyaya (ya compile fileTree(dir: 'libs', include: '*.jar')birçok kavanoz dosyalarını kullanıyorsanız)

    Düzenleme: Android Studio 3.0+ sürümünde implementation files('libs/gson-2.2.4.jar')(veya implementation fileTree(dir: 'libs', include: '*.jar')) kullanın

  4. Temiz bir derleme yapın (bu işlemi muhtemelen Android Studio'da yapabilirsiniz, ancak bir terminalde uygulamamın kök klasörüne gidip yazdığımdan emin olmak gradlew cleaniçin. Mac OS X kullanıyorum, komut sisteminizde farklı olabilir

Yukarıdaki dördünü yaptıktan sonra, iyi çalışmaya başladı. Sanırım 'Kütüphane olarak ekle' adımı daha önce özlediğim adımdı ve ben de temizleyene kadar işe yaramadı.

[Düzenle - build.gradlediğerleri işaret ettiği gibi gerekli olan adımı ekledi ]


6
gradlew clean de bana yardımcı oldu. Çok teşekkürler!
František Žiačik

171
Her kavanoz dosyası için açıkça bir satır eklemek istemiyorsanız: compile fileTree(dir: 'libs', include: '*.jar')
J c

65
Gradle'ın geçici bağımlılık yönetiminden yararlanmanızı ve gson'u mavenCentral () 'dan indirmenizi öneririm (internet bağlantısı gerektiriyorsa repositories { mavenCentral() }, compile files(...)satırınızı ekleyin ve değiştirin compile 'com.google.code.gson:gson:2.2.4've gradle jar dosyasını sizin için otomatik olarak indirip yönetecektir. kütüphaneleri değil, sadece kaynak kod dosyalarını izler
Joe

38
2. adımda Kitaplık Olarak Ekle seçeneğini
alamıyorum

6
Android Studio build.gradle1.0.2'de , bu satır zaten varsayılan olarak olduğundan 2. ve 3. adımlara gerek yoktur : compile fileTree (dir: 'libs', şunları içerir: ['* .jar'])
Brian Marick

268

Yerel bir jar dosyasını bir modüle kütüphane olarak eklemek için talimatlar şunlardır:

  1. Modül dizininin en üst düzeyinde bir 'libs' klasörü oluşturun ('src' dizinini içeren dizin)

  2. Gelen build.gradle fileeklenti böylece bağımlılıkları kapatma sahip olduğunu şu:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
  3. Android Studio'nun zaten bir gradlew sarmalayıcısı ayarlamış olması gerekir. Komut satırından projenizin en üst düzeyine ( gradlewdosya içeren dizin ) gidin.

    Koş ./gradlew assemble. Bu projeyi kütüphane ile derlemelidir. Build.gradle dosyanızdaki hataları gerektiği gibi düzeltmeniz gerekebilir.

  4. Android Studio'nun IDE'de kodlarken yerel jar dosyalarını destek için kütüphane olarak tanıması için birkaç adım daha atmanız gerekir:

    4.1. Sol paneldeki modüle sağ tıklayın ve seçin Open Library Settings.

    4.2. İletişim kutusunun sol panelinde öğesini seçin Libraries.

    4.3. +Soldan ikinci panelin üzerindeki işareti tıklayın ->Java

    Menü

    4.4. Yerel kavanozunuzu seçin ve projeye ekleyin.

  5. Yukarıdaki ./gradlewkomutu bir kez daha çalıştırmanız gerekebilir


Bu benim için çalıştı. Ubuntu'da Android Studio sürüm 1.2 Build 141.1890965 var. Neden "Android Studio 2.5'ten itibaren" dersiniz? Windows / Mac'te farklı bir sürüm mü? (1a) Bunu bulmak zordu. Birleşik giriş kutusu proje yapı alanının sol üst tarafındadır. "Android" yerine "Proje" seçmek ve "app" genişletmek gerekiyor. (1b) "Ekle" seçeneği bulunmadı, ancak "Yapıştır" çalıştı. (2) "compate fileTree (dir: 'libs', include: ['* .jar'])" satırım vardı, ancak yine de açık tek satırınızı eklemek zorunda kaldım. (4, 5) (3) başarıyla tamamlandıktan sonra gerekli değildir. Teşekkürler!
Phil Freihofner

"sol panel"? Proje panelini mi kastediyorsunuz? Her yerde olabilir ... Android Studio 2.3.3 ile Kütüphane Ayarları'nı bulamıyorum ama Modül Ayarlarındaki Bağımlılıklara kavanoz eklemek aynı gibi görünüyor ...
İnanılmaz Ocak

mac için, eğer derecelendirmediyseniz: "./gradlew: İzin reddedildi" alırsanız $ brew install gradle, $ chmod 755 gradlew çalıştırmanız gerekir Sonra $ ./gradlew assemble
Azkario Rizky

110

Projede sağ tıklayın

-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done

Aşağıdaki ekran görüntülerini takip edin:

1:

Aşama 1

2:

resim açıklamasını buraya girin

3:

resim açıklamasını buraya girin

Bunu göreceksiniz:

resim açıklamasını buraya girin


@CamConnor ben de öyle düşünüyorum .. Diğer cevaplar modası geçmiş
Ganesh Pandey

Bu cevap
Alessandro

4
Ancak kütüphane olarak tanınmaz. Örneğin, andriod stüdyo editörü: içe aktarılan kavanoza tanınmayan bir paketi içe aktarmaya çalışın.
Dave,

İçe aktarılan modülü bu şekilde kaldırmanın bir yolu bulunamadı.
Dave,

Neden "copy-jar-to-libs" klasör yönteminin diğer yanıtlarını değil, harici kavanoz ekleme yöntemini kullanmalıyım?
Eido95

48

Android Stuido'da Gson lib'i yönetmek için Gradle'ı kullanmayı seviyorum.

Build.gradle dosyanıza aşağıdaki bağımlılığı ekleyin.

repositories {mavenCentral()}

dependencies {compile 'com.google.code.gson:gson:2.2.4'}

Her şey yolunda.

Bu yayını da görebilirsiniz. Üçüncü taraf kütüphaneyi Android Studio'ya entegre etmenin en iyi yolu


Bu yöntem en iyisidir çünkü maven kullanıyor.
Gary Drocella

1
Sürüm numarasını en son sürümle güncellemeyi unutmayın :) Şu andan itibaren 2.3.1, ancak bağlantıyı
Kitalda

47

IIRC, sadece "Kütüphane olarak ekle" yi kullanmak projeyle derlenmesi için yeterli değildir.

Kontrol intellij yardımını bir projeye kütüphaneleri ekleme hakkında

Sizi en çok ilgilendiren kısım şudur:

(In File > Project Structure) Modül ayarlarını açın ve Bağımlılıklar sekmesini seçin.

Bağımlılıklar sekmesinde, ekle'yi tıklatın ve Kitaplık'ı seçin.

Kitaplıkları Seç iletişim kutusunda bir veya daha fazla kitaplık seçin ve Seçilenleri Ekle'yi tıklatın.

Kütüphane iletişim kutusunda görünmüyorsa, kütüphaneyi Modüllerin hemen altındaki Kütüphaneler ayarlarına ekleyin.

Artık eklemenize gerek compile files()yok ve kütüphane projenize düzgün bir şekilde eklenmelidir.


Kütüphane olarak ekle zaten kavanozun aynı şekilde ekliyor. Bence sonuç aynı. Daha sonra deneyeceğim.
Ozzie

Kütüphane ekle bunu başarıyla yapıyor - Ben seninle aynı teknede Ozzie - EXACT aynı sorun.
Jonah H.

Pekala, Kütüphane olarak ekle'yi sadece kütüphane listesine eklediğini ve modül bağımlılıklarına eklemediğini düşündüm.
Jukurrpa

Bunu denediğimde, build.gradle dosyasına derleme files () satırlarını eklediğini gördüm, ancak kütüphanelere (/libs/foo.jar) mutlak yollar kullanıyor gibiydi. Bunları benim için sorunu gideren göreli yollara (libs / foo.jar) değiştiriyorum.
Matt Holgate

40

Tüm bu çözümler modası geçmiş. Android Studio'da artık çok kolay:

Dosya> Yeni Modül ...

Bir sonraki ekran garip görünüyor, sanki bir widget veya başka bir şey seçiyorsunuz, ancak ilk resimde ve aşağıda kaydırın ve "JAR veya .AAR Paketini İçe Aktar" ı bulun

Sonra almak Project StructureDosya menu.Select dan appsonra seçin açılan pencereden dependenciessonra basın green plus buttonseçin, module dependencyardından düğmesine basın, sonra ithal modülü seçinOK


Ben maven kullanmak özellikle büyük ölçekli projeler için, yani saneryee tarafından sağlanan daha iyi bir çözüm olacağını düşünüyorum.
Gary Drocella

2
Bu bile modası geçmiş gibi görünüyor. Basitçe .jar dosyanızı "libs" dizininize koyun ve projenize otomatik olarak sihirli bir şekilde derlenecektir. Android Studio 1.4'te "libs" dizinindeki tüm * .jar dosyalarını içerecek varsayılan bir kural ayarı zaten var.
Daniele Testa

35

Android Studio'da harici kitaplık eklemek için kolay adımlar

  1. Eğer varsa Android projesi explorer View, bunu değiştirmek Proje görünümünün altında olduğu

resim açıklamasını buraya girin

  1. Harici kitaplığı eklemek istediğiniz modülü sağ tıklayın, ardından Yeni> Directroy'u seçin ve ' libs ' olarak adlandırın
  2. Şimdi blah_blah.jar dosyasını ' libs ' klasörüne kopyalayın
  3. Blah_blah.jar'a sağ tıklayın, ardından ' Kütüphane Olarak Ekle ... ' yi seçin. Bu, otomatik olarak ekleyip giriş olacak build.gradle olarak derleme dosyaları ( 'libs / blah_blah.jar') ve gradle senkron. Ve işin bitti

Lütfen Dikkat: 3. taraf kitaplıkları kullanıyorsanız , Gradle betiğinin otomatik olarak JAR'ı ve gradle betiği çalıştırıldığında JAR bağımlılığını otomatik olarak indirdiği bağımlılıkları kullanmak daha iyidir .

Örn: 'com.google.android.gms: play-services-ads: 9.4.0' derleyin

Gradle Dependency Mangement hakkında devamını oku


34

'dosyaları derle ...' eskiden benim için çalışırdı, ama artık değil. çok acıdan sonra, bunun yerine bunun işe yaradığını gördüm:

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

Bunun neden bir fark yarattığına dair hiçbir fikrim yok, ama en azından şu an işe yarıyor.


1
Bu benim için çalışıyor ancak son zamanlarda bazen AS bir sınıf senkronizasyonu yapana kadar yeni / güncellenmiş kavanoz almıyor bulundu.
scottyab

Unutmayın, "derleme", "uygulama" lehine kullanımdan kaldırılmıştır.
Amir Rezazadeh

17
  1. Kütüphane dosyasını web sitesinden indirin
  2. Windows araştırmasından kopyala
  3. Project Explorer'dan lib klasörüne yapıştırma
  4. Ctrl+ Alt+ Shift+ Saçık Proje Yapısı
  5. Bağımlılıklar Sekmesini seçin, +
  6. Araç çubuğu düğmesini kullanarak projeyi not dosyasıyla senkronize etme

Bu benim sorunumu çözdü. Deneyin, daha fazla ayrıntı isteyen varsa bana bildirin.


17

Ben sadece bir satır ekleyerek işe yaradı build.gradle:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this
    implementation 'com.google.code.gson:gson:2.3.1'   ----------> I added this one
}

Sync nowSağ üst köşeye tıklamayı unutmayın .

Android Studio 1.0.1 kullanıyorum.


fileTreehattın ne yaptığına dikkat eder misiniz?
Thufir

13

Android Studio'nun Bağımlılık Yöneticisi'ni, üçüncü taraf bağımlılıklarını (burada bahsedilen gson gibi) yönetmek için oldukça kullanışlı ve güçlü buldum. Benim için çalışan adım adım kılavuz sağlanması (NOT: Bu adımlar Windows Studio'daki Android Studio 1.6 ve sonraki sürümleri için test edilmiştir).

Adım-1: Git "Oluştur> Kitaplıkları ve Bağımlılıkları Düzenle ..." git "Proje Yapısı" iletişim kutusunu açar

resim açıklamasını buraya girin

Adım-2: "Uygulama" yı ve ardından "Bağımlılıklar" sekmesini seçin. Sonra "Ekle> 1 Kütüphane bağımlılığı" nı seçin

resim açıklamasını buraya girin

Adım-3: "Kütüphane Bağımlılığını Seç" iletişim kutusu gösterilir, aramada "gson" seçeneğini belirtin ve "arama düğmesine" basın

resim açıklamasını buraya girin

Adım-4: İstenen bağımlılık arama listesinde gösterilir, com.google.code.gson: gson: 2.7'yi seçin (bu, cevabı yazdığım zamanki en son sürümdür), Tamam'a basın

resim açıklamasını buraya girin

"Proje Yapısı" iletişim kutusunda Tamam'a basın. Gradle derleme komut dosyalarınızı buna göre güncelleyecektir.

resim açıklamasını buraya girin

Umarım bu yardımcı olur :)


Bu yaklaşımla ilgili bir sorun buldum, commons-io-2.5 ​​kullanan uygulama üzerinde çalışıyorum. Uygulamayı Google Geliştirici Konsolu'na yüklediğinizde, imzalanan apk için desteklenen 0 cihaz gösterilir. Kapsamlı bir araştırmadan sonra jar dosyasını app / libs / commons-io-2.5.jar altına yerleştirmem ve bu 'derleme dosyaları (' libs / commons-io-2.5.jar ') gibi gralde güncellemem gerektiğini anladım ', burada neyi yanlış yaptığımdan ve belgelerin neden bunu kapsamadığından emin değilim.
AB

Bu şekilde çalışır. Diğer tüm cevaplar işe yaramadı. Android Studio 2.3.3
imsrgadich

11

1. Kavanozu (benim durumumda gson-2.2.4.jar) libs klasörüne koyun .

2. Derleme dosyalarının ( libs/gson-2.2.4.jar) build.gradle dosyanızda olduğundan emin olun .

3. Şimdi "Project'i Gradle dosyalarıyla Eşzamanla" düğmesine tıklayın (üst çubuktaki AVD yöneticisine bırak düğmesi).

Yukarıdaki üçünü yaptıktan sonra, iyi çalışmaya başladı.


9

.jarDosyanızı libsklasöre indirin ve kopyalayın , ardından build.gradle dosyasına şu satırı ekleyin:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.google.code.gson:gson:2.3.1'
}

"Şimdi senkronize et" i tıklamayı unutmayın


9

Bunu iki seçenekle yapabilirsiniz.

ilk basit yol.

.Jar dosyasını panoya kopyalayın ve libs klasörüne ekleyin. Projede libs klasörünü görmek için, klasörlerin üzerindeki birleşik giriş kutusundan projeyi seçin.

.jar dosyasına sağ tıklayın ve kitaplık olarak ekle'ye tıklayın, ardından bir modül seçin ve Tamam'a tıklayın. .Jar dosyasını build.gradle dosyasında bağımlılıklar bloğunda görebilirsiniz.

 dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:21.0.3'
        implementation project(':okhttp-2.0.0')
        implementation 'com.google.code.gson:gson:2.3.1'
    }

İkinci yol şudur: Bu .jar dosyasını bir .jar modülü olarak içe aktararak bir modüle .jar dosyası ekleyebilir ve daha sonra bu modülü istediğimiz herhangi bir modüle ekleyebiliriz.

import module ---> .jar dosyanızı seçin -> .jar olarak içe aktarmak yerine - resim açıklamasını buraya girin

Sonra CTRL + ALT + ÜST KARAKTER + S -> proje sağlamlaştırma -> kavanoz eklemek için istediğiniz modülü seçin -> Bağımlılıklar -> Modül Bağımlılığı. modülün build.gradle otomatik olarak güncellenecektir. resim açıklamasını buraya girin


Güzel. bir düzenleme - Şimdi "Yeni modül" (Android Studio 1.0.1). "İthalat modülü" sizi farklı bir sihirbaza gönderir ..
Aviv Ben Shabat

7

Benim için 3 adım ve çalışma cazibesi yukarıda yaptım .

(Android Studio 2.1.2 kullanıyorum)

resim açıklamasını buraya girin

Aşama 1

  • Senin ekleyin kavanoz paket adı (örnek olarak compile 'com.squareup.okhttp3:okhttp:3.3.1'altında gradle yapı komut içine) (: Uygulama Modülü) build.gradle .

resim açıklamasını buraya girin

Adım 2: Uygulama klasörünü sağ tıklayın -> Yeni -> Modül

resim açıklamasını buraya girin

Adım 3: JAR / .AAR Paketini İçe Aktar'ı tıklatın ve ardından paketinize göz atın. örnek olarak: OkHttp.jar

resim açıklamasını buraya girin


7

Android Studio 3+ ile:

Sadece jar dosyasını uygulama klasörünün hemen altındaki libs klasörüne kopyalayabilmeniz gerekir.

... projem \ app \ libs \ myfile.jar

Ardından Projeler penceresindeki açılır menüden Proje Dosyaları'nı seçin, projeye sağ tıklayın, dosyayı Proje Dosyaları'nda görmek için Senkronize Et'i seçin. Bağımlılık dosyasındaki bağımlılıkları otomatik olarak ekler (Modül: uygulama).

dependencies {
...
    implementation files('libs/myfile.jar')

İşte başka bir çözüm:

Proje Dosyaları görünümüne gidin (açılır menüden Proje Dosyaları'nı seçin).

resim açıklamasını buraya girin

Yeni ... Dizin'i seçin, uygulamanın hemen altında libs adlı bir klasör oluşturun.

resim açıklamasını buraya girin

Dosya Gezgini'ni açın, jar dosyanızı kopyalayıp libs klasörüne yapıştırın.

Android Studio'da, jar dosyasına sağ tıklayın ve açılır menüden Kitaplık Olarak Ekle ... seçeneğini seçin.

resim açıklamasını buraya girin

Not dosyası içindeki bağımlılıklar listesinde listelenen dosyayı görmelisiniz:

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

Java dosyanızı açın ve içe aktarma ifadesini buraya ekleyin:

import com.xxx.xxx;

7

Put .jardosyaları libsAndroid projesinin klasöründe.

Ardından, uygulamanın kod dosyasına şu kod satırını ekleyin:

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

Android gradle eklentisi 3.0 ve üstü için, bunun yerine bunu kullanmak daha iyidir:

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

7

Eclipse'den farklı olarak jar'ı indirip / libs klasörüne koymamız gerekmez. Gradle, yalnızca Gradle bağımlılıkları eklememiz gereken şeyleri işler, Gradle indirir ve gradle önbelleğine koyar.

Bağımlılıkları şu şekilde eklememiz gerekir:

bağımlılıklar {application 'com.google.code.gson: gson: 2.2.4'}

thats it Ancak jar indirebilir ve bunu kütüphane olarak ekleyebiliriz ama en iyi uygulama Gradle bağımlılıkları eklemektir.


5
menu File -> project struct -> module select "app" -> dependencies tab -> + button 
-> File dependency -> PATH/myfile.jar

5

Adım 1: Şimdi sizin altında app foldergörmelisiniz libs, görmüyorsanız oluşturun .

Adım 2:, Drag & Drop the .jar file herebir bilgi istemi olabilir "This file does not belong to the project", sadece OKDüğme'ye tıklayın .

Adım 3: Şimdi jar dosyasını libs klasörü altında görmelisiniz, jar dosyasına sağ tıklayın ve"Add as library", Click OK for prompt "Create Library"

Adım 4: Şimdi bu kavanoz eklendi.

resim açıklamasını buraya girin


4

Bir klasör kütüphanesi oluşturun. .Jar dosyanızı ekleyin. Sağ tıklayın ve bağımlılık olarak kavanoz ekleyin. Üstüne tıkla. Tüm yapmanız gereken bu. Build.gradle dosyanıza eklenen bağımlılıkları bulabilirsiniz.


4

1) Project / app / src klasörü içinde bir 'your_libs' klasörü oluşturun.

2) jar dosyanızı bu 'your_libs' klasörüne kopyalayın

3) Android Studio'da Dosya -> Proje Yapısı -> Bağımlılıklar -> Ekle -> Dosya Bağımlılığı'na gidin ve 'src / your_libs' altında olması gereken jar dosyanıza gidin

3) Jar dosyanızı seçin ve 'Tamam'ı tıklayın

ve sonra build.gradle dosyasında şu şekilde görebilirsiniz: dosyaları derle ('src / your_libs / your.jar')


4

Android Studio 1.1.0'da. Bu soruyu aşağıdaki adımları izleyerek çözdüm:

1: jar dosyasını libs dizinine koyun. (Finder'da)

2: Modül ayarlarını açın, Bağımlılıklar'a gidin, sol alt köşede bir artı düğmesi var. Artı düğmesine tıklayın ve ardından "Dosya Bağımlılığı" nı seçin. Burada jar dosyasını görebilirsiniz. Onu seçin ve çözüldü.


4

Burada tüm cevapları okudum ve hepsi Android Studio'nun eski sürümlerini kapsıyor gibi görünüyor!

Android Studio 2.2.3 ile oluşturulan bir projeyle, libsaltında bir dizin oluşturup appkavanozumu oraya yerleştirmem gerekiyordu. Bunu dosya yöneticim ile yaptım, Android Studio'da herhangi bir şeyi tıklamaya veya düzenlemeye gerek yok.

Neden çalışıyor? Açık Yapı / Düzen Kütüphaneler ve Bağımlılıklar ve göreceksiniz:

{include=[*.jar], dir=libs}

3

Mac OS X'te:

  1. Jar'i kütüphane olarak ekle (jar'ı kütüphanelere sürükleyin, lib olarak sağ tıklayın)

  2. Derleme ifadesi ekle build.grade

  3. Yükle gradle v1.6(homebrew kullan)

    • demlemek yüklemek kepçe
    • kepçe -v
    • v1.6 değilse, homebrew'u yükseltin
  4. temiz kepçe (android yeniden çalışmadı)

Bu beni halletti.


3

Daha önce de belirtildiği gibi,

compile files('libs/gson-2.2.3.jar') 

build.gradle dosyanıza.

Ancak Android Studio'da Eclipse'den taşınan bir projem var ve bu durumda "libs" klasörü "lib" olarak adlandırılıyor.


3
  1. libsKlasör düzeyinde eklendi app.
  2. jarsBu projedeki tüm bilgiler eklendi .
  3. Sonra, libsklasördeki tüm kavanozları seçti ,
  4. seçili öğelere sağ tıklayın ve add library
  5. daha sonra proje gezgini içinde kavanoz genişletme seçeneğini bulacaksınız.

Ben CTRL+ ALT+ SHIFT+ S-> proje yapısı -> app-module -> Bağımlılıklar " , başlangıçta zaten (dir: 'libs', include: '*.jar')altında bir girdi olduğunu gözlemledim compile-option. Kavanozları yukarıda belirtilen adımlara göre ekledikten sonra build.gradle, yeni eklenenler kavanozun kendisi.


3

In Android Studio 2.1 Ben, bu yolu takip

Git uygulaması -> src-> main -> varlıklar klasörü (Mevcut değilse oluştur) -> JAR dosyalarınızı koyun

resim açıklamasını buraya girin

Build.gradle dosyasında bunun gibi bir bağımlılık eklenir,

implementation files('src/main/assets/jsoup.jar')
implementation files('src/main/assets/org-apache-xmlrpc.jar')
implementation files('src/main/assets/org.apache.commons.httpclient.jar')
implementation files('src/main/assets/ws-commons-util-1.0.2.jar')

Şimdi senkronize edin. Artık JAR dosyalarınız kullanıma hazırdır.


Neden libs dizinini kullanmıyorsunuz?
Deni Erdyneev

@ErdeniErdyneev Kavanoz dosyalarını saklamak için başka bir yaklaşım veriyorum. neden varlıkları kullanmıyorum? benim yaklaşımımda herhangi bir sorun var mı? Yanılıyorsam hataları düzeltmeye hazırım
Ranjith Kumar

3

Daha yeni Android 1.0.2 için build.gradle dosyanızda zaten var

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

Kütüphane kavanozunu kütüphaneler klasörünüze ekleyin -> kütüphaneye sağ tıklayın -> kütüphane olarak ekle'ye tıklayın -> projeden eklemenizi ister -> projenizi seçin -> tıklayın tamam Aşağıdaki satır otomatik olarak eklenir .gradle

implementation files('libs/android-query.jar')

Bunu benim için yaptı. daha fazla bir şey gerekli değildi. Ben android aquery için bu android için başka bir üçüncü taraf kütüphane gösterdim.


2

Benim cevabım temel olarak yukarıda verilen doğru fakat eksik cevapları toplamak.

  1. Build.gradle dosyasını açın
  2. Aşağıdakileri ekleyin:

    dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.3'
    }

    Bu, bağımlılık eklemenin iki farklı yolunu destekleyecektir. compile fileTree(dir: 'libs', include: ['*.jar'])(@Binod belirtildiği gibi) HERHANGİ kavanoz için klasör kütüphanelerini altında bakmak için derleyici söyler. Uygulamamızın kullanması gereken kavanoz paketlerini içeren böyle bir klasör 'libs' oluşturmak iyi bir uygulamadır.

Ancak bu aynı zamanda Maven bağımlılığına destek sağlayacaktır. Derleme 'com.google.code.gson:gson:2.3'(@saneryee tarafından belirtildiği gibi) merkezi bir uzak depoda olan ve / libs "yerel havuzumuzda" olmayan bağımlılıkları eklemenin önerilen başka bir yoludur. Temelde gradle'a bu paketin bu sürümünü aramasını söyler ve derleyiciye projeyi derlerken (sınıf yolunda olması) bunu dikkate almasını söyler

Not: Her ikisini de kullanıyorum

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.