1

外部モジュールに関する 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 にあり、現在ソース ディレクトリ (青) としてマークされています。

ここから先に進む方法について何か考えがある人はいますか?

4

1 に答える 1