2013-05-18 51 views
20

我花了几个小时试图让一个库在Android Studio中与我的项目一起工作,但我无法弄清楚。NoClassDefFoundError与Android Studio中的库

这里就是我的依赖性看起来像我的模块 enter image description here

我的图书馆: http://i.imgur.com/t8E3sB8.png

我甚至已经添加

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

我的build.gradle 。没有这个,应用程序甚至不会编译。

在这个阶段,当我尝试在代码中引用其中一个库时,应用程序崩溃,出现NoClassDefFoundError异常。

东西告诉我,这不应该这么难 - 我忽略了什么?

的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

发布您的logcat – moDev

+0

我将它添加到帖子中。 – jhirsch

+0

核心依赖于http? – Blundell

回答

29

我有完全相同的问题, 和你一样我认为这足以添加

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

它所有的工作我做了./gradlew clean后(我在Mac上,所以在你的情况下,等效)。 当你位于你的项目的根目录时,你应该从终端/命令提示符下执行这个命令。

+1

非常有用,谢谢!在Windows 8中调用proj目录中的“gradle clean”。 –

+0

哦,谢谢你sooooo ...这花了我4个小时! <3 <3 - (作为一名mac用户,您可以通过使用“brew install gradle”来安装gradle) - 如果您没有brew获得它! –

+3

非常奇怪,当Build - > Project clean不起作用时,gradlew clean工作... –

相关问题