AndroidSDKをR22にしたら、アプリがエミュレータで起動しなくなった時にありがちな原因

AndroidSDKのRev.22がリリースしたので、新しく手に入れたノートPC(Xubuntu)に開発環境(Eclipse)を整えたのだが、
早速起動しないという洗礼を受けた。

発生情況

僕のアプリにはnendという広告表示サービスを利用している。
アプリに広告を表示させるために、nendから提供されたライブラリを使用しているのだが、アプリを起動する際にそこでエラーが出ているらしい。

nendライブラリで定義されているviewを呼び出すときにInflateExceptionが出ている。
定義されたViewのクラスを呼び出せないということらしい。

原因と対策

いままでは外部ライブラリを使うときは、libsフォルダにjarファイルを置いて、
プロジェクトのプロパティからビルドパスの設定でそのjarファイルを選択していた。

Rev.22からはAndroid Private Librariesというパスが新しく作られて
libsフォルダのjarファイルは自動的にそのパスに含まれるようになったそうだ。
だからわざわざjarファイルを個別に設定するとダブってしまうので、jarファイルのパスは除去した。

それでも同じエラーがでて起動はできなかったので、
今度はビルドの順番を変えることにした。
具体的にはAndroid Private LibrariesをAndroidライブラリより上に来るようにした。
つまり、アプリのsrc、アプリのgen、Android Private Librariesという順番にした。

そしたら起動できた!

Androidのライブラリより前にプライベートライブラリを先に呼び出さないと行けないようだ。

 

スポンサードリンク

関連コンテンツ