2011-05-27 14 views
6

Uygulamamdan bir grup işlevselliği bir kütüphaneye ayıkladım. Sorun, kütüphane sınıflarını hem üretim kodunda hem de testlerde kullanmaktır. Sorun benim uygulamamın, kitaplığımın ve test kodunun ayrı modüller olmasıdır, bu yüzden hem uygulama kodu hem de test kodunun kütüphaneye bağlı olması gerekir.Bir Android kitaplığını nasıl alabilirim ve bunu hem üretim kodunda hem de testlerde kullanabilirim?

UNEXPECTED TOP-LEVEL EXCEPTION: 
java.lang.IllegalArgumentException: already added: (some class) 

Bu şifreli, ama ben bir kereden fazla .dex dosyaya aynı sınıf eklemek için denedim söylemeye çalışıyor: Ben deney modülü derlemeye çalıştığınızda, aşağıdaki hatayı alıyorum. Test kodu kütüphane koduna ve derleme zamanındaki uygulamaya bağlı olduğu için derleme zamanında kütüphaneye de bağlı olduğu için çok da şaşırtıcı değil. Bunu önlemek için bağımlılıklarımı nasıl kurabilirim (veya kodumu değiştiririm)?

NOT: IntelliJ IDEA 10.5 CE kullanıyorum, bu yüzden onların terminolojisini kullanıyorum, ancak sorunun en azından kavramsal olarak IDE-agnostik olduğunu düşünüyorum.

cevap

0

Merhaba Farklı şekiller kullanarak aynı kavanozun birkaç kez eklendiğini hissediyorum.

projeniz

Right on Project->Properties->Java Build Path->Add Jars-> 
Right on Project->Properties->Java Build Path->Add External jars-> 

ilk hepsini kaldırabilir kavanoz içinde kavanozu koyarak iki yolu vardır. Uygulama klasörünüzün içinde bir klasör oluşturun, orada tüm gerekli kavanozları koyun.

Right on Project->Properties->Java Build Path->Add Jars-> select your project folder and select the jar file 

Teşekkür Deepak

+0

Cevabınız için teşekkürler, Deepak. Sorunum biraz farklı, çünkü kütüphanem basit değil. Bir Android kütüphane projesidir, bu yüzden ayrı bir modül olarak aldım ve ona bir modül bağımlılığı ekledim. – Lyudmil

2

O IDEA bir hata var, biz please watch/vote bunun için bir sorun gönderdiniz.

+0

Çok teşekkür ederim. Sabit olduğunda cevabınızı kabul edeceğim. – Lyudmil

İlgili konular