2012-12-31 10 views
17

現在、EclipseからIntelliJ Ideaにすべてのプロジェクトを移行しています。Intellij:android-support-v4.jar in actionBarSherlockとProject => IllegalArgumentException

私がEclipseを使用していたとき、パッケージはActionBarSherlockライブラリにのみ含まれていました。ライブラリがプロジェクトに含まれていれば、すべてが自動的に追加されました。

IntelliJでは、android-support-v4.jarがABSに追加されると、すべてのインポートが壊れているように見えません。 ActionBarSherlock(LibABS)輸入の

スクリーンショット:

enter image description here

すべては罰金だ、すべてSherlockActivityは罰金ですが、サポートに関連するすべてのものは、私のアプリケーションで認識されていません。

java: /home/user/workspace/.... 
cannot access android.support.v4.app.FragmentActivity 
class file for android.support.v4.app.FragmentActivity not found 

したがって、jarをlibsフォルダに手動でコピーして、もう一度プロジェクトに組み込む必要があります。私のプロジェクトの輸入の

スクリーンショット:

enter image description here

輸入が認められている、私は今、このエラーが出るナット:

Android Dex: [BeTrains-for-Android] UNEXPECTED TOP-LEVEL EXCEPTION: 
Android Dex: [BeTrains-for-Android] java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/ShareCompat$ShareCompatImplJB; 

は、任意の助けのためにたくさんありがとうございます。

+0

依存関係から 'android-support-v4.jar'を削除してください。 'LibABS'依存関係を介して既に含まれています。 –

+0

説明:java:/ home/user/workspace/.... android.support.v4.app.FragmentActivityにアクセスできない android.support.v4.app.FragmentActivityのクラスファイルが見つかりませんでした –

+0

最初のケースでは、2番目のケースのように 'LibABS'依存関係はありません。 –

答えて

15

依存関係スコープとエクスポートフラグを試してみます。説明:dependency tabのこのページを確認してください。

+4

Waouw、すべてが修正されました。問題は私がSlidingMenuを使っていることだったので、主なプロジェクトにはSlidingmenuだけを含めるようにしました。また、Slidingmenuにはエクスポートが必要なABSが含まれていました。また、ABS icludedサポートjarもエクスポートする必要がありました。 –

+1

これは、FYIとして、_that_プロジェクト参照を活用したいActionBarSherlock(この場合はandroid-support-v4.jar)など、参照されているプロジェクト内で_Export_を設定する必要があることに気付いています。 –

+15

FacebookとActionBarSherlockをモジュールとして使用しているのと同じ問題がありました。私はスコープを両方のモジュールで提供するように設定することでこれを解決しました。 – mparaz

関連する問題