私は最近 eclipse から intellij に切り替えました。これまでのところ素晴らしい経験であり、とても気に入っています。しかし、壁に頭をぶつけているという奇妙な問題に遭遇しました。ViewPagerIndicator、ActionBarSherlock、RoboSherlock、RoboGuice、およびアプリケーションで他の一般的なフレームワークを使用しようとしています。VPI を追加するまで、すべて正常に動作します。
基本的に、ViewPagerIndicator 依存関係をプロジェクトに追加すると、3.0 より前のデバイスのアプリケーションが壊れます (3.0 以降では正常に動作します)。
VPI apklib が存在するときに ABS 互換のテーマが選択されていないように見えるため、このエラーはやや混乱しています (マニフェストで ABS 互換のテーマを使用していることに注意してください)。
>09-18 10:33:15.986: ERROR/COM.IRIE.TASTEBUD/ObserverMethodListener.java:34(509): main java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at roboguice.event.eventListener.ObserverMethodListener.onEvent(ObserverMethodListener.java:32)
at roboguice.event.EventManager.fire(EventManager.java:130)
at com.github.rtyley.android.sherlock.roboguice.activity.RoboSherlockActivity.onCreate(RoboSherlockActivity.java:63)
at com.irie.tastebud.view.activity.MainActivity.onCreate(MainActivity.java:38)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
トレースをさらに詳しく見ると、以下が表示されます (シャーロック テーマを使用している場合でも)。
Caused by: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative. at com.actionbarsherlock.internal.ActionBarSherlockCompat.generateLayout(ActionBarSherlockCompat.java:1007) at com.actionbarsherlock.internal.ActionBarSherlockCompat.installDecor(ActionBarSherlockCompat.java:919) at com.actionbarsherlock.internal.ActionBarSherlockCompat.setContentView(ActionBarSherlockCompat.java:853) at com.actionbarsherlock.app.SherlockActivity.setContentView(SherlockActivity.java:218) at roboguice.inject.ContentViewListener.optionallySetContentView(ContentViewListener.java:21) ... 19 more**
完全な例外スタック トレースと activity/manifest/pom.xml コード @ https://gist.github.com/3743646を参照してください。
繰り返しますが、これは、VPI プロジェクトを Maven 依存関係として追加する場合に、3.0 より前のデバイスでのみ発生します。VPI を削除すると、アプリは 2.2 以降のデバイスで正常に動作します。
私の Pom.xml は、私の知る限り、2.2 以降で正常に動作する Android Bootstrap アプリケーションとほとんど同じです。
私の推測では、私は何らかの依存関係の構成の問題を抱えていると思います。私は maven と intellij にかなり慣れているので、トラブルシューティングは非常に困難でした。
他の誰かがこの動作を見たことがあるのか、それとも私が初歩的なミスを犯しているのかはわかりません。問題が解決したら、この質問を回答で更新します。
事前に皆さんに感謝し、この投稿でスタックオーバーフローのエチケットを破った場合は申し訳ありません.
編集: 潜在的な関連する問題が見つかりました @ http://youtrack.jetbrains.com/issue/IDEA-90719