2013-05-18 11 views
20

Ich habe verbrachte Stunden damit, eine Bibliothek bekommen mit meinem Projekt in Android Studio zu arbeiten, und ich kann es einfach nicht herausfinden.NoClassDefFoundError mit Bibliotheken in Android Studio

Hier ist, was meine Abhängigkeiten aussehen für meine Modul enter image description here

Und meine Bibliotheken: http://i.imgur.com/t8E3sB8.png

Ich habe hinzugefügt sogar

compile files('libs/signpost-commonshttp4-1.2.1.2.jar') 
compile files('libs/signpost-core-1.2.1.2.jar') 

meiner build.gradle . Ohne dies würde die App nicht einmal kompilieren.

Zu diesem Zeitpunkt, wenn ich versuche, eine der Bibliotheken im Code zu referenzieren, stürzt die App mit einer NoClassDefFoundError-Ausnahme ab.

Etwas sagt mir, dies sollte nicht schwer sein - was bin ich mit Blick auf?

LogCat:

05-17 21:51:15.676: I/ActivityManager(714): START u0 {flg=0x10104000 cmp=com.crazydog.splitwiser/.InitialSplash bnds=[328,402][656,692]} from pid 1513 
05-17 21:51:15.896: I/ActivityManager(714): Start proc com.crazydog.splitwiser for activity com.crazydog.splitwiser/.InitialSplash: pid=18174 uid=10288 gids={50288, 3003, 1028} 
05-17 21:51:16.326: I/ActivityManager(714): Displayed com.crazydog.splitwiser/.InitialSplash: +437ms (total +1m9s209ms) 
05-17 21:51:17.017: I/ActivityManager(714): START u0 {cmp=com.crazydog.splitwiser/.LogIn} from pid 18174 
05-17 21:51:17.097: E/dalvikvm(18174): Could not find class 'oauth.signpost.commonshttp.CommonsHttpOAuthConsumer', referenced from method com.crazydog.splitwiser.Toolkit.oAuthTransaction 
05-17 21:51:17.097: W/dalvikvm(18174): VFY: unable to resolve new-instance 662 (Loauth/signpost/commonshttp/CommonsHttpOAuthConsumer;) in Lcom/crazydog/splitwiser/Toolkit; 
05-17 21:51:17.097: D/dalvikvm(18174): DexOpt: unable to opt direct call 0x112f at 0x08 in Lcom/crazydog/splitwiser/Toolkit;.oAuthTransaction 
05-17 21:51:17.107: E/AndroidRuntime(18174): at com.crazydog.splitwiser.Toolkit.oAuthTransaction(Toolkit.java:65) 
05-17 21:51:17.107: E/AndroidRuntime(18174): at com.crazydog.splitwiser.LogIn.onResume(LogIn.java:116) 
05-17 21:51:17.117: W/ActivityManager(714): Force finishing activity com.crazydog.splitwiser/.LogIn 
05-17 21:51:17.117: W/ActivityManager(714): Force finishing activity com.crazydog.splitwiser/.InitialSplash 
05-17 21:51:17.618: W/ActivityManager(714): Activity pause timeout for ActivityRecord{40d040d0 u0 com.crazydog.splitwiser/.LogIn} 
+0

Veröffentlichen Sie Ihre Logcat – moDev

+0

Ich habe es zum Beitrag hinzugefügt. – jhirsch

+0

ist Core auf http angewiesen? – Blundell

Antwort

29

hatte ich genau das gleiche Problem, Und wie Sie dachte ich, es ist genug, um die

compile files('libs/signpost-commonshttp4-1.2.1.2.jar') 
compile files('libs/signpost-core-1.2.1.2.jar') 

Alles arbeitete hinzuzufügen, nachdem ich ein ./gradlew clean tat (ich bin auf einem Mac, also in Ihrem Fall, das Äquivalent.) Sie sollten diesen Befehl von der Terminal/Eingabeaufforderung aus tun, wenn Sie im Stammverzeichnis Ihres Projekts befinden.

+1

Sehr nützlich, danke! Funktioniert auf Windows 8 Aufruf "Gradle sauber" in der proj dir. –

+0

oh danke dir sooooo viel ... das hat mich 4 Stunden gekostet! <3 <3 - (als Mac-Benutzer können Sie Grapple mit "brew install grandle" installieren - wenn Sie nicht brauen GET IT! –

+3

Es ist sehr seltsam, dass Gradlew sauber funktioniert, während Build -> Project sauber nicht funktioniert ... –

Verwandte Themen