AndroidのDrawerLayoutを実装しようとしたらconversion to dalvik format failedとか出てひどい目にあった

Author:

AndroidアプリのDrawerLayoutってのを使ってみようと思って
サンプル適当に見ながら作ろうとしたらError inflating classとかconversion to dalvik format failedとか出てだいぶひどい目にあった。

まず、起動させようとしてもなぜかfindViewByIdでエラーが出る。
あれー?と思っていたらどうやらルートにDrawerLayoutを入れないといけなかったようだ。
修正して再度実行。

今度はError inflating classとか出る。
うーむ、v4のサポートライブラリちゃんと入れてビルドパスも設定しているのに。
そしてクリーンしてみたら今度はconversion to dalvik format failedとかなんとか出やがる。

もしかして、と思ってよーく見てみたら、android.support.v4.widget.DrawerLayoutという文字列をなんとスペルミスしていた。
ってことでこれを修正。
それでもconversion to dalvik format failedは消えない。
うーむ。

落ち着いてもっと文章を読んでみる。
んん?
multiple dex files defineと書いてあるぞ。
調べてみると、どうやらサポートライブラリとAndroid Private Librariesの競合が起こっているとか。
サポートライブラリ外して再度実行。

おー、動いた!!
いやー、バグ3つが同時に発生ってひどいですなあ。
でも勉強になったぞ。

Share on Facebook
Pocket