2011-05-10 102 views
4

我下面就http://developer.android.com/sdk/ndk/overview.html的步骤,构建HELLO-JNI样品,但是当我拿到第2步,在Cygwin的命令提示符下运行HELLO-JNI NDK样本 - NDK,构建失败

cd $NDK-ROOT/samples/hello-jni 
$NDK-ROOT/ndk-build 

,我收到以下错误信息:

/bin/sh: -c: line 0: unexpected EOF while looking for matching `'' 
/bin/sh: -c: line 1: syntax error: unexpected end of file 
Android NDK: Host awk tool is outdated. Please define HOST_AWK to point to Gawk 
or Nawk ! 

我有Cygwin的1.7.9,GNU的make 3.8.2和3.1.8 Gawk的我的Windows机器上,配合Android NDK的发布R5B一起。 我也设置了HOST_AWK环境变量,它指向我的Gawk文件夹。

Unfortunatley样本无法在没有这一步骤的情况下成功运行(如果我运行hello-jni,则立即收到UnsatisfiedLinkError异常)。

下面是创建这个错误(NDK_ROOT /编译/核心中)在我的机器上init.mk文件的部分:

# Location of all awk scripts we use 
BUILD_AWK := $(NDK_ROOT)/build/awk 

AWK_TEST := $(shell $(HOST_AWK) -f $(BUILD_AWK)/check-awk.awk) 
$(call ndk_log,Host awk test returned: $(AWK_TEST)) 
ifneq ($(AWK_TEST),Pass) 
$(call __ndk_info,Host awk tool is outdated. Please define HOST_AWK to point to Gawk or  Nawk !) 
$(call __ndk_error,Aborting.) 
endif 

感谢您的帮助

+0

尝试更新的awk工具。似乎是一个过时的版本(也许)。 – JoxTraex 2011-05-10 19:26:17

+0

有相同的问题, http://stackoverflow.com/questions/8384213/android-ndk-revision-7-host-awk-tool-is-outdated-error [1]:http:// stackoverflow。 com/questions/8384213/android-ndk-revision-7-host-awk-tool-is-outdated-error – 2011-12-11 16:49:56

+0

Cygwin上的同样问题 - Awk 4.0.0 – tofutim 2012-02-07 16:26:32

回答

0

原来有在我HOST_AWK路径,这是造成问题的撇号。

0

尝试更新你的awk工具。似乎是一个过时的版本(也许)。还要确保将NDK根目录定义在你拥有NDK源的地方,并确保你的awk工具位于你的NDK源的编译目录中。

NDK_ROOT

尝试将此环境变量设置为NDK根目录所在的位置。每当这个被定义(通常在顶部)

+0

我使用的awk工具是Gawk 3.1.8版,这是最新版本。这也是Cygwin安装提供的版本。我的NDK_ROOT环境变量指向我的android-ndk-r5b文件夹位置,并且我的HOST_AWK环境变量指向gawk.exe--但是这是随Cygwin安装而来的,所以在我的Cygwin \ bin文件夹中。 – 2011-05-10 19:58:04

+0

我应该再次单独安装Gawk,将它放在我的NDK_ROOT/build文件夹中吗?目前NDK_ROOT/build包含: awk/ 核心/ gmsl/ 工具/ – 2011-05-10 20:15:52

+0

我不确定具体情况..但我希望所有awk工具都在该目录中。 – JoxTraex 2011-05-10 20:30:14

0

相反的HOST_AWK=gawk.exe,只是做HOST_AWK=gawk

+0

我刚刚更新了我的环境变量以反映这一点,不幸的是我仍然收到相同的错误。 – 2011-05-17 19:33:25