linux的个人空间 http://love.myleft.org/?21

日志

Android-x86 NDK for Eclair

已有 28 次阅读 2010-7-28 23:52 |个人分类:Android|系统分类::编程|关键词:Eclair NDK

$ repo init -u git://git.android-x86.org/manifest.git -b eclair-x86
$ repo sync
藉著 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 一下取得我最新的修改。

路过

雷人

握手

鲜花

鸡蛋

漂亮

评论 (0 个评论)

facelist

御舟工作室. |联系我们

GMT+8, 2010-9-5 19:56, Processed in 0.021636 second(s), 16 queries.

Powered by Discuz! X1

© 2001-2010 Comsenz Inc.