2011-05-10 101 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