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ştirin
Sağ 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ız compile fileTree(dir: 'libs', include: '*.jar')
olduğundan emin olun)
Düzenleme : Android Studio 3.0+'da implementation files('libs/gson-2.2.4.jar')
(veya implementation fileTree(dir: 'libs', include: '*.jar')
) kullanın
Temiz 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ı olabilir
Yukarı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.
Bağımlılıklar sekmesinde ekle'ye tıklayın ve Kütüphane'yi seçin.
Kitaplıkları Seç iletişim kutusunda, bir veya daha fazla kitaplık seçin ve Seçilenleri Ekle'ye tıklayın.
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ü.