Android-x86 NDK for Eclair
藉著 eclair-x86 branch 的釋出,順便 review 了一下 NDK for x86 的支援。原本的做法,要編譯給 x86 的 shared libraries 時需要指定 TARGET_PRODUCT=eeepc。但在加入多 x86 平台支援之後,「eeepc」其實已經不代表通用的 x86 平台。因此這個用法有商榷的必要。
另外 AOSP (以及 Android-x86)的 source tree 雖含有 NDK 和 toolchains,但 NDK 卻無法直接使用 AOSP 的 toolchains。還要叫使用者自行下載,真是多此一舉。
經過我的修改後,讓 development/ndk 可以直接的使用 prebuilt 中的 toolchains。同時,預設的 toolchains 就是 x86。因此不需要再指定 TARGET_PRODUCT=eeepc 了。
簡單來說,只需下列步驟就可以使用 Android-x86 source tree 中的 NDK:
$ cd development/ndk $ sh build/host-setup.sh Checking host development environment. NDK Root : /home/cwhuang/git/android-x86-2.1/development/ndk GNU Make : make (version 3.81) Awk : awk Platform : linux-x86 Generate : out/host/config.mk Toolchain : Checking for arm-eabi-4.2.1 prebuilt binaries Toolchain : Checking for i686-unknown-linux-gnu-4.2.1 prebuilt binaries Host setup complete. Please read docs/OVERVIEW.TXT if you don't know what to do. $ make APP=hello-jni |
其中 hello-jni 也可以換成其它的 sample applications:hello-gl2, san-angeles, two-libs
如果想編譯給 arm 用的版本也可以。只要指定 NDK_TOOLCHAIN 為 arm 版本就行。例如:
$ make NDK_TOOLCHAIN=arm-eabi-4.4.0 APP=xxx
|
記得 repo sync 一下取得我最新的修改。
