Android Studio: Kütüphane olarak jar ekleyeyim mi?
Yeni Android Studio'yu kullanmaya çalışıyorum ama düzgün çalışmasını sağlayamıyorum.
JSON nesnelerini serileştirmek/seri dışı bırakmak için Gson kütüphanesini kullanıyorum. Ancak kütüphane bir şekilde derlemeye dahil edilmemiş.
Sadece bir MainActivity ile yeni bir proje oluşturdum. libs klasöründeki gson-2.2.3.jar dosyasını kopyaladım ve kütüphane bağımlılığı olarak ekledim (sağ tık->Kütüphane olarak ekle). Bu, kavanozu android studio'ya dahil eder, böylece kaynak dosyalardan referans alınabilir.
Projeyi çalıştırmaya çalıştığımda derlenemiyor, bu yüzden ekledim:
compile files('libs/gson-2.2.3.jar')
de .gradle dosyasındaki bağımlılıklara ekleyin. Bundan sonra doğru bir şekilde derleniyor ancak uygulamayı çalıştırırken ClassDefNotFoundException
alıyorum.
Neyi yanlış yaptığımı bilen var mı?
Saatlerdir aynı şeyle uğraşıyorum, Gson kavanozunu çalıştırmaya çalışıyorum. Sonunda çözdüm - işte attığım adımlar:
Gson kavanozunu (benim durumumda,
gson-2.2.4.jar
)libs
klasörüne yerleştirinSağ tıklayın ve 'Kütüphane olarak ekle''ye basın;
Build.gradle dosyanızda
compile files('libs/gson-2.2.4.jar')
olduğundan emin olun (veya çok sayıda jar dosyası kullanıyorsanızcompile fileTree(dir: 'libs', include: '*.jar')
olduğundan emin olun)Düzenleme : Android Studio 3.0+'da
implementation files('libs/gson-2.2.4.jar')
(veyaimplementation fileTree(dir: 'libs', include: '*.jar')
) kullanınTemiz bir derleme yapın (bunu muhtemelen Android Studio'da yapabilirsiniz, ancak emin olmak için bir terminalde uygulamamın kök klasörüne gittim ve
gradlew clean
yazdım. Ben Mac OS X kullanıyorum, komut sizin sisteminizde farklı olabilirYukarıdaki dördünü yaptıktan sonra sorunsuz çalışmaya başladı. Sanırım 'Kütüphane olarak ekle' adımı daha önce atladığım bir adımdı ve onu da temizleyene kadar çalışmadı.
[Düzenleme - başkalarının da belirttiği gibi gerekli olan
build.gradle
adımını ekledi]IIRC, sadece "Add as library" kullanmak proje ile derlemek için yeterli değildir.
Bir projeye kütüphane ekleme hakkında Intellij'in yardım bölümüne bakın
Sizi en çok ilgilendirmesi gereken kısım şu:
(Dosya > Proje Yapısı`nda) Modül ayarlarını açın ve Bağımlılıklar sekmesini seçin.
Kütüphane iletişim kutusunda görünmüyorsa, Modüllerin hemen altındaki Kütüphaneler ayarlarına ekleyin.
Artık
compile files()
eklemenize gerek kalmamalı ve kütüphane projenize düzgün bir şekilde eklenmelidir.Mac OS X üzerinde:
Kavanozu kütüphane olarak ekleyin (kavanozu libs'e sürükleyin, lib olarak ekle'ye sağ tıklayın)
Build.grade` dosyasına derleme deyimi ekleyin
gradle v1.6` yükleyin (homebrew kullanın)
Bu beni çözdü.