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

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つが同時に発生ってひどいですなあ。
でも勉強になったぞ。

Author Info(オガティ

エンジニアとして勤め、インフラ周りの開発を経た後Web業界へ異動。
プライベートでもブログ「ogatism」の運営や電子書籍の執筆、占星術師としての活動など幅広い分野で活動中。
詳細はこちら

占い鑑定レポート作成サービス受付中

◆ ogatismをFeedlyに登録 ◆
follow us in feedly