外部モジュールに関する IntelliJ の依存関係の処理に問題があります。ここにいくつかのコンテキストがあります:
Google マップを実装する Android アプリを作成しています。私の現在の機能セットには、Google の Play サービス ライブラリと mapex ( https://code.google.com/p/mapex/にあるサード パーティの Google マップ拡張ライブラリ) という 2 つの外部ライブラリが必要です。依存関係の処理が簡単なため、IntelliJ への移行を勧められる前に、実際にこのプロジェクトのほとんどを Android Studio でビルドしました。しかし、今私はここにいて、まだ問題を抱えています。
私のエラー
mapex パッケージ (com.androidnatic.maps) にあるクラスからオブジェクトを構築しようとすると、ビューが含まれているアクティビティを開始するときに次のエラーが発生します (オブジェクトはまだ作成されていません)。
07-03 11:40:35.837: エラー/dalvikvm(3585): メソッド com.example.myproject.MapActivity.showHeatMap から参照されるクラス 'com.androidnatic.maps.SimpleMapView' が見つかりませんでした
そして、作成時にアプリ フォースが終了し、これを logcat に残します。
7-03 11:40:45.467: エラー/AndroidRuntime(3585): 致命的な例外: 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 ライブラリ モジュールの構造は次のとおりです
。
アクセスしようとしているクラス ファイルは、MapExLib/gen および MapExLib/src にあり、現在ソース ディレクトリ (青) としてマークされています。
ここから先に進む方法について何か考えがある人はいますか?