我遇到了與外部模塊有關的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中,它們當前標記爲源目錄(藍色)。
有沒有人有關於如何從這裏開始的任何想法?
'文件 - >無效caches',然後再試一次。 – Simon
剛試過這個:'File - > Invalidate Caches',IntelliJ restarted,'Build - > Rebuild Project',然後運行MyProject,但不幸的是它似乎沒有解決任何問題。 – aerotwelve
對不起。你的設置對我來說確實很好。希望別人出現.. – Simon