【问题标题】:hello-jni NDK sample - ndk-build failshello-jni NDK 示例 - ndk-build 失败
【发布时间】:2011-05-10 18:00:49
【问题描述】:

我正在按照http://developer.android.com/sdk/ndk/overview.html 上的步骤构建 hello-jni 示例,但是当我进入第 2 步运行时

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

在 Cygwin 命令提示符中,我收到以下错误消息:

/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 !

我的 Windows 机器上有 Cygwin 1.7.9、Gnu Make 3.8.2 和 Gawk 3.1.8,以及 Android NDK 的 r5b 版本。 我还设置了 HOST_AWK 环境变量,它指向我的 Gawk 文件夹。

不幸的是,如果没有这一步,示例将无法成功运行,(如果我运行 hello-jni,我会立即收到 UnsatisfiedLinkError 异常)。

下面是我机器上的 init.mk 文件的一部分(在 NDK_ROOT/build/core 中),它会产生这个错误:

# 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

感谢您的帮助

【问题讨论】:

标签: android android-ndk


【解决方案1】:

尝试更新您的 awk 工具。似乎是一个过时的版本(也许)。还要确保将 NDK 根定义到您拥有 NDK 源的位置,并确保您的 awk 工具位于 NDK 源的构建目录中。

NDK_ROOT

尝试将此环境变量设置为您的 NDK 根目录。无论何时定义(通常在顶部)

【讨论】:

  • 我手上的awk工具是Gawk 3.1.8版本,是最新的版本。这也是 Cygwin 安装提供的版本。我的 NDK_ROOT 环境变量指向我的 android-ndk-r5b 文件夹位置,我的 HOST_AWK 环境变量指向 gawk.exe - 但这是 Cygwin 安装附带的,所以在我的 Cygwin\bin 文件夹中。
  • 我是否应该再次单独安装 Gawk,将其放在我的 NDK_ROOT/build 文件夹中?目前NDK_ROOT/build包含:awk/core/gmsl/tools/
  • 我不确定具体细节。但我希望所有 awk 工具都在该目录中。
  • 我将 gawk 可执行文件复制到了 NDK_ROOT/build/awk 目录(当前仅包含 .awk 文件),同样的错误仍然存​​在。
  • 您还记得看到您的 ndk 工具集所在位置的 NDK_ROOT 变量吗?
【解决方案2】:

不要使用HOST_AWK=gawk.exe,而是使用HOST_AWK=gawk

【讨论】:

  • 我刚刚更新了我的环境变量以反映这一点,不幸的是我仍然收到同样的错误。
【解决方案3】:

事实证明,我的 HOST_AWK 路径中有一个撇号,这导致了问题。

【讨论】:

    【解决方案4】:

    参考 https://stackoverflow.com/q/8121153/411522

    我的现在工作正常。要做的是:只需在 ndk 中重命名预构建的 awk

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 2015-12-15
      相关资源
      最近更新 更多