2013-07-03 36 views
1

我遇到了与外部模块有关的IntelliJ依赖性处理问题。这里有一些上下文:Android NoClassDefFound从外部库引用类时(IntelliJ IDEA 12)

我在写一个实现谷歌地图的Android应用程序。对于我当前的功能集,我需要两个外部库 - Google Play服务库和mapex(第三方Google地图扩展库,位于此处https://code.google.com/p/mapex/)。实际上,我之前在Android Studio中构建了大部分此项目,因为依赖处理更容易,所以我建议迁移到IntelliJ。但现在我在这里,仍然有问题。


我的错误

当试图从位于MAPEX包(com.androidnatic.maps)一类建立一个对象,我开始认为包含在(对象的活动时出现此错误尚未创建):

07-03 11:40:35.837: ERROR/dalvikvm(3585): Could not find class 'com.androidnatic.maps.SimpleMapView', referenced from method com.example.myproject.MapActivity.showHeatMap

然后,在创建时,我的应用程序强制关闭,并在离开该logcat中背后:

7-03 11:40:45.467: ERROR/AndroidRuntime(3585): FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.androidnatic.maps.SimpleMapView at com.example.myproject.MapActivity.showHeatMap(MapActivity.java:492)

然而,我完全难住,因为我的IDE给我没有迹象表明任何错误!尝试从MyProject访问类时会自动填充类。

ide-fill-in http://www.tonyandrys.com/img/fillin.jpg

没有关于旷课,失踪模块,类定义,或任何相关的构建错误。

如果我尝试通过其全包名访问类,我也会得到相同的结果。

// No dice. 
final SimpleMapView mapView = new SimpleMapView(this, "apikey"); 
final com.androidnatic.maps.SimpleMapView mapView = new com.androidnatic.maps.SimpleMapView(this, "apikey"); 

就我的IDE而言,似乎应用程序在我的手机上运行时只有一个问题。


这里的MyProject的结构:
main-project-structure http://www.tonyandrys.com/img/mainstructure.jpg

这里是我的主要项目的依赖设置(这里我认为我搞砸了某处): project-structure http://www.tonyandrys.com/img/projectstructure.jpg

这里是MAPEX的结构库模块:
mapex-lib http://www.tonyandrys.com/img/mapexstructure.jpg

该课程我尝试访问的文件位于MapExLib/gen和MapExLib/src中,它们当前标记为源目录(蓝色)。

有没有人有关于如何从这里开始的任何想法?

+0

'文件 - >无效caches',然后再试一次。 – Simon

+0

刚试过这个:'File - > Invalidate Caches',IntelliJ restarted,'Build - > Rebuild Project',然后运行MyProject,但不幸的是它似乎没有解决任何问题。 – aerotwelve

+0

对不起。你的设置对我来说确实很好。希望别人出现.. – Simon

回答

0

尝试这样做: Android, IntelliJ Idea, changing module type

我有同样的错误“无法找到引用的方法XXX类XXX”用的IntelliJ,涉及一个Android测试模块,并且无法找到活动测试随时随地上课 我设置项目结构内主模块的刻面的Android库模块(复选框)和它的工作...

让我们知道