@weather 晴時々曇
@title あさ〜
@category 生活
@s
1100充電開始、1730再起動。
@title NDK r20メモ
@category android
@s
昨晩tweetしていた分のまとめ。
@ul
そういえば、Android始めたわりと初期に「android:debuggable」がtrueでもfalseでも実行速度は変わりないことを調べたうえでずっとtrueで使ってたんだが、そういえばJIT入ってからどうなったかと調べたらやっぱり差はないようだ
今は「android:debuggable」をビルド環境側が操作するようになったので明示する必要はないということになっているけど、NDKが絡むとちょっと注意しておかないといけないことがある
「android:debuggable」がtrueだとndk-buildはNDK_DEBUG=1、falseだとNDK_DEBUG=0で動作するので、「android:debuggable」を安易に変更するとNDK部のビルド結果が変わってしまうことがある
NDK部のビルドはeclipseからはできなくてコマンドラインで行うものだったので、ビルド時にコマンドラインオプションでどっちか指定しておけばよかったのが、ADTr20でEclipseからビルドできるようになったために状況が変化した
デフォルト設定ではNDKビルド時のコマンドラインにはNDK_DEBUGの指定がないので、「android:debuggable」の値に従うことになる。trueにしておくとNDK部は常にデバッグビルドになってしまう
Eclipseのプロジェクトプロパティの[C/C++ Build]の[Builder Settings]でndk-buildのコマンドライン設定ができるので、「NDK_DEBUG=0」をオプションに追加しておくと、リリースビルドされるようになる
ここでビルドコンフィグレーションをいくつか作ることができるので、Defaultを潰してDebugとReleaseを作っておくとわかりやすいと思う