2013-07-03 38 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庫模塊(複選框)和它的工作...

讓我們知道