2012-12-31 14 views
17

Obecnie migruję wszystkie moje projekty z Eclipse do IntelliJ Idea.Intellij: android-support-v4.jar w pakiecie actionBarSherlock i Project => IllegalArgumentException

Kiedy korzystałem z Eclipse, pakiet był zawarty tylko w bibliotece ActionBarSherlock, a gdy biblioteka była zawarta w moim projekcie, wszystko zostało automatycznie dodane.

Z IntelliJ, gdy Android-support-v4.jar jest dodany do ABS, to nie wydaje się wystarczające, ponieważ cały mój import jest zepsuty.

zrzut ekranu ActionBarSherlock (LibABS) import:

enter image description here

Wszystko wydaje się w porządku, wszystko SherlockActivity są w porządku, ale wszystkie rzeczy związane wsparcie nie jest rozpoznawany w mojej aplikacji:

java: /home/user/workspace/.... 
cannot access android.support.v4.app.FragmentActivity 
class file for android.support.v4.app.FragmentActivity not found 

Muszę więc ręcznie skopiować plik jar do folderu libs i ponownie dołączyć do mojego projektu.

Zrzut ekranu z moich importu projektu:

enter image description here

przywozy są rozpoznawane, orzech I teraz ten błąd:

Android Dex: [BeTrains-for-Android] UNEXPECTED TOP-LEVEL EXCEPTION: 
Android Dex: [BeTrains-for-Android] java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/ShareCompat$ShareCompatImplJB; 

Dziękuję dużo za wszelką pomoc.

+0

Spróbuj usunąć "android-support-v4.jar" z zależności teraz. Jest już zawarty w zależnościach 'LibABS'. –

+0

Jak wyjaśniono, otrzymuję: java:/home/user/workspace/.... nie może uzyskać dostępu do pliku klasy android.support.v4.app.FragmentActivity dla android.support.v4.app.FragmentActivity nie został znaleziony –

+0

w pierwszy przypadek nie ma zależności "LibABS" jak w drugim przypadku. –

Odpowiedz

15

Spróbuj grać z zakresami zależności i eksportuj flagi. Sprawdź tę stronę pod kątem opisu: dependency tab.

+4

Waouw, wszystko jest naprawione. Problem polegał na tym, że korzystałem ze SlidingMenu, więc chodziło o to, aby włączyć tylko menu Sliding w moim głównym projekcie, ABS z funkcją Slidingmenu, który musiał zostać wyeksportowany, oraz słoik wsparcia ze zintegrowanym systemem ABS, który również musiał zostać wyeksportowany. –

+1

Jako FYI, sprowadza się to do konieczności ustawienia _Export_ w dowolnym projekcie, do którego się odwołuje, takim jak ActionBarSherlock, w którym chcesz wykorzystać odniesienia do _that_ projects, w tym przypadku android-support-v4.jar. –

+15

Miałem ten sam problem podczas korzystania z Facebooka i ActionBarSherlocka jako modułów. Rozwiązałem to, ustawiając Scope to Provided w obu modułach. – mparaz

Powiązane problemy