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ı?

Çözüm

Saatlerdir aynı şeyle uğraşıyorum, Gson kavanozunu çalıştırmaya çalışıyorum. Sonunda çözdüm - işte attığım adımlar:

  1. Gson kavanozunu (benim durumumda, gson-2.2.4.jar) libs klasörüne yerleştirin

  2. Sağ tıklayın ve 'Kütüphane olarak ekle&#39'ye basın;

  3. 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

  4. 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]

Yorumlar (20)

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.

Yorumlar (4)

Mac OS X üzerinde:

  1. Kavanozu kütüphane olarak ekleyin (kavanozu libs'e sürükleyin, lib olarak ekle'ye sağ tıklayın)

  2. Build.grade` dosyasına derleme deyimi ekleyin

  3. gradle v1.6` yükleyin (homebrew kullanın)

  • brew install gradle
  • gradle -v
  • v1.6 değilse, homebrew'u yükseltin
  1. gradle clean (android'i yeniden inşa et çalışmadı)

Bu beni çözdü.

Yorumlar (0)