Android 2.3 (Gingerbread) 的 build system 引入重大的變革,就是要求必須。這對開發者來說多少造成點困擾,因為必須先將開發環境升級到 64-bit 才行。
以下是我個人在 Fedora 14 上編譯 Gingerbread 的方法。首先,當然必須先安裝 Fedora 14 x86_64 的版本。接著安裝以下開發工具:
bison
flex
gcc-c++
git
glibc-devel
gperf
java-1.6.0-openjdk-devel
libX11-devel
libstdc++-devel
zlib-devel
這還不夠,還得安裝一些 32-bit (i686) 版本的 rpm:
glibc-devel.i686
ncurses-devel.i686
zlib-devel.i686
這是由於 AOSP 的 toolchain 等工具還未更新為 64-bit,因此還得搭配 32-bit 版本的 development libraries。
這樣雖然能編譯成功,但要跑 emulator 時會出現:
SDL init failure, reason is: No available video device |
研究許久,才發現要安裝 libXrandr.i686 才行。