スタッフのブログです。個以上あるコメントは受け付けない設定になってます。)2011年05月17日Androidのビルド時間でJDKを比較ccacheを使うことで、Androidの再ビルドの時にCとC++のコンパイル時間は大きく短縮することができました。後はJavaのビルド時間をなんとか縮めたいものです。そこで今回はUbuntuにするにインストールできる3種類のJDKでAndroidのビルド時間を比較してみました。page)3つのJDK以下の3つのJDKで試しました。Ubuntuのapt-getで得られたsun-jdkOracleのサイトからダウンロードしたJDKopenjdkUbuntuのapt-getで得られたsun-jdk本家のサイトに書いてある方法(http://source.android.com/source/initializing.html)でインストールできます。sun-java6-jdkjavaのversionは"1.6.0_24"でした。OracleのサイトからダウンロードしたJDKOracleのダウンロードサイトからjdk-6u25-linux-x64.binを入手します。scriptになっています。~/jdk-6u25-linux-x64.binjavaのversionは"1.6.0_25"でした。openjdkこれは簡単にインストールできます。openjdk-6-jdkjavaのversionは"1.6.0_20"でした。ビルドの時間を比較USE_CCACHE=1にしています。ビルド環境の詳細は前回の記事を見てください。使用するJDKの切り替えは以下のスクリプトを使って環境変数を変更することによって行っています。何度か測定を繰り替えしましたが、傾向は同じでopenjdkがわずかの差で速いということがわかりました。CPUやメモリ搭載量などによって結果は変わるかもしれません。個人的にはインストールが簡単で、速いopenjdkを気に入っています。2011.5.17Javaの切り替えを行うのに以下のコマンドも使うことができます。javaこれはシステム全体のjavaを切り替えます。私は記事中で紹介したように環境変数の切り替えの方を好みます。Gingerbread(JDK6が必要)とFroyo(JDK5が必要)を並列してビルドしたりすることもあるからです。Buildingに投稿したところ、AOSPのメンテナであるJBQさんからコメントがつきました。以前からOpenJDKへの切り替えは検討していたそうです。していない理由は、MacOSのOpenJDKのライセンスがややこしいということと、JDKとOpenJDKでは生成されるコードが少し違うためにビルドできなくなる箇所があるということだそうです。最新コメント「最新トラックバック」は提供を終了しました。(2)タグクラウドABCadbaidlAndroidARMarmv7asmbinderbionicBootbuildbuildrootbuiltinbusyboxcccacheCELFcelfjpClangcortex-a8Cortex-A9cpuinfodalvikvmDebiandebuggerdDMAelcembeddedemulatorEventexeGCCFlashfpufroyogccGDBGingerbreadgoldfishIceCreamSandwichinitinitrdinterpreterJAVAjavacjavapjitK&Rkernelkeykzm-a9-dualKZM-A9-GTkzm-ca9-01LinarolinuxLLVMloglogcatltsimingwMIPSmultiarchndkneonnetinstallnfsnon-stopobjdumppartnerPARTNER-JetportingpowermanagementprintfpropertyPyMitepythonqemuQTQTextCodecrootstockrubysdServiceSHsimdsmpTCGtuninguartubootUbuntuuclibcUNIXUSBv8vlinkwakelockwirelessx86zygote計測QRコード京都マイクロコンピュータ。