Android de ICU build on Windows

Android用に ICUを Windowsで作成しています。

unicode support in android ndk Androidでglibc(6) ICU を参考にしてみました。

必要なもの

  • ICUのソース(今回は 4.8を使います)
  • Android NDK (NDKはr5を使います)
  • cygwin

手順

AndroidNDKのインストール先を C:\android-ndk-r5 とします。

  1. C:\android-ndk-r5\toolchains\arm-eabi-4.4.0\prebuilt\windows\binにパスを張ります。
  2. Cygwin用のビルドディレクトリを作成します。
  3. Cygwin用にICUをビルドします。
    >sh (ICUのディレクトリ)/source/runConfigureICU Cygwin
    > make
    でオーケー
  4. Android用のビルドディレクトリを作成します。
  5. 環境変数の設定をします
    CPP=/cygdrive/c/android-ndk-r5/toolchains/arm-eabi-4.4.0/prebuilt/windows/bin/arm-eabi-cpp.exe

    CPPFLAGS=-Ic:/android-ndk-r5/platforms/android-8/arch-arm/usr/include/ -DU_USING_ICU_NAMESPACE=0 -DU_GNUC_UTF16_STRING=0 -D__STDC_INT64__

    CFLAGS=-O3 -fno-short-wchar  -fno-short-enums -nostdlib 

    CXXFLAGS=-Ic:/android-ndk-r5/sources/cxx-stl/gnu-libstdc++/include -Ic:/android-ndk-r5/sources/cxx-stl/gnu-libstdc++/libs/armeabi/include
     
  6. Android用のディレクトリで (ICUのディレクトリ)/source/configure を実行します。その時、以下のオプションを指定します。
    --enable-extras=no --enable-strict=no --enable-static --enable-shared=no --enable-tests=no --enable-samples=no --enable-dyload=no --enable-tools=no --host=arm-eabi --with-data-packaging=archive --with-cross-build=(2.で作成したCygwin用のディレクトリ)
  7. makeします。
  8. 「ucln_in.d:1: *** multiple target patterns.  Stop.」というエラーが出た場合は以下のコマンドを cygwinで実行します。
     for v in *.d
       do
         awk -f /cygdrive/c/android-ndk-r5/build/awk/convert-deps-to-cygwin.awk $v > $v.new
       mv $v.new $v
     done
  9. c:/android-ndk-r5/platforms/android-8/arch-arm/usr/include/にある util.hは (ICU)/source/common/util.hとバッティングするので名前を変更する。

トラックバック(0)

トラックバックURL: http://www.alpha-usr.info/cgi-bin/mt/mt-tb.fcgi/75

コメントする

デル株式会社

検索

カスタム検索

このブログ記事について

このページは、中村 剛士が2011年6月20日 22:58に書いたブログ記事です。

ひとつ前のブログ記事は「SMS、7月13日よりキャリア間で使用可能に(本当は6/1発表)」です。

次のブログ記事は「今日の帰宅経路」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。