2013-01-31 35 views
1

编辑的NoClassDefFoundError上的IntelliJ

在Android的测试源文件的详细调查后,发现这有蚂蚁测试命令也不起作用,所以它不是一个问题的IntelliJ。

有一个在应用程序启动的一些警告,这表明,问题来自于与ormlite框架错误的链接:

 
WARN/dalvikvm(22209): Class resolved by unexpected DEX: Lcom/example/android/app/noclassdef/module/dao/BaseBrowserDAO;(0x4051f5e8):0x98558 ref [Lcom/j256/ormlite/dao/Dao;] Lcom/j256/ormlite/dao/Dao;(0x4051f5e8):0x97ec0 

WARN/dalvikvm(22209): (Lcom/example/android/app/noclassdef/module/dao/BaseBrowserDAO; had used a different Lcom/j256/ormlite/dao/Dao; during pre-verification) 

WARN/dalvikvm(22209): Link of class 'Lcom/example/android/app/noclassdef/module/dao/BaseBrowserDAO;' failed 

但这只是在测试项目中发生的,主要项目有没有问题。

我发现自从R17 jar'真的'需要在libs目录下,所以ithought也许我应该复制测试项目libs目录中的jar,但它没有改变任何东西。

原始

我的Android测试项目没有在Android上运行,我得到以下错误:

 
java.lang.NoClassDefFoundError: com.mycompany.android.module.shop.database.MyDBHelper 
at com.mycompany.android.module.shop.dao.DAOFactory.(DAOFactory.java:51) 
at com.mycompany.android.module.shop.dao.DAOFactory.initSingleton(DAOFactory.java:58) 
at com.mycompany.android.app.shop.test.EShopBaseTestCase.setUp(EShopBaseTestCase.java:41) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) 
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529) 
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448) 
Caused by: java.lang.ClassNotFoundException: com.mycompany.android.module.shop.database.MyDBHelper in loader dalvik.system.PathClassLoader[/system/framework/android.test.runner.jar:/data/app/com.mycompany.android.app.shop.test-1.apk:/mnt/asec/com.mycompany.android.app.shop-1/pkg.apk] 
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
... 12 more 

的试运行,而不在Eclipse上的任何问题,所以我想这是一个配置问题。

'缺少'类是应用程序的源类,它不是在jar中,也不在任何外部框架中。

更让人困惑的是,看着stacktrace com.mycompany.android.module.shop.dao.DAOFactory存在,但不是com.mycompany.android.module.shop.database.MyDBHelper(它们在同样的项目...)

任何人有想法?我一直坚持一段时间。这不是第一次,所以我比我的工作项目的配置,但是我发现没有差异可言我使用的测试项目有...的IntelliJ

+0

尝试[IDEA 12.0.3(http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP),重建项目有很大帮助,如果它不”帮助,分享一个样本项目来重现它。 – CrazyCoder

+0

我正在使用12.0.1。我不确定是否可以重现问题,因为我所有的其他测试项目都可以正常工作... – Xval

+0

尝试新版本,也尝试禁用[此选项](http://img189.imageshack.us/img189/3550/ 20121206235318.png)。 – CrazyCoder

回答

相关问题