Androidのアプリのビルドは非常に遅い。原因の一つはGradleが重いことなのだが、実はDEXとPRE-DEXのフェーズも無駄な処理を行なっているため、非常に時間がかかる。 そこで、DEXとPRE-DEXを行なっているdx.jarの高速版のfastdx.jarを作成した。全体のビルド時間は、私の環境では50%くらい高速化された。 fastdx.jarのダウンロードはこちら オリジナルのdx.jarが遅い原因は、大きく2つある。 無駄に.classから.dexの作成を行なっている(キャッシュしていない) 複数のdexのマージの処理に無駄がある 無駄に.classから.dexの作成を行なっている(キャッシュしていない) オリジナルのdx.jarでは、.jarに含まれていた.classが一つでも変更された場合、.jarに含まれていた全.classファイルを再度.dexにコンバートし直している