【问题标题】:ndk-build not found as a command找不到作为命令的 ndk-build
【发布时间】:2011-05-01 09:12:18
【问题描述】:

我使用 Android SDK 已经有一段时间了,只是遇到了使用 NDK 的要求

所以,我下载了适用于 Windows 的 Android NDK。跳转到第一个示例,当我尝试使用 NDK 示例中定义的流程构建库时

http://developer.android.com/sdk/ndk/overview.html

特别是命令行中的命令 /ndk-build

我收到了错误

ndk-build 不是内部或外部命令、可运行程序或批处理文件

我已经在PATH变量中添加了ndk-build的路径,甚至尝试调用该文件夹的命令,仍然是同样的错误

有人知道吗?

【问题讨论】:

  • 你安装了 CygWin 吗? “对于 Windows,需要 Cygwin 1.7 或更高版本。NDK 不适用于 Cygwin 1.5 安装。”
  • 更进一步@slhck 的评论,如果你在PC 上,这些命令只能在Cygwin 中工作,你不能在DOS 中运行它们。

标签: android eclipse android-ndk


【解决方案1】:

猜应该是答案而不是评论。

您必须使用 Cygwin 作为您的 shell 才能运行 ndk-build。
http://www.cygwin.com/

【讨论】:

  • 绝对错误。你不需要cygwin。 windows 提示编译就好了
【解决方案2】:

安装完 Cygwin 后,您可以让 Eclipse 自动为您构建项目:

  1. 右键单击您的项目,选择属性。

  2. 从左侧列表中选择“builders”。

  3. 点击右侧的“新建...”。

  4. 选择“程序”作为配置类型。我将我的命名为“Native Builder”

    位置 - c:\cygwin\bin\bash.exe

    工作目录 - c:\cygwin\bin

    参数 -

    (对于 NDK r3): --login -c "cd /cygdrive/c/Android_NDK && make APP=myapp"

    (对于 NDK r4): --login -c "cd /cygdrive/c/ && /cygdrive/c/Android_NDK/ndk-build"

确保登录前有两个连字符,连字符-c 后有引号

  1. 现在转到刷新选项卡

  2. 勾选“完成后刷新资源”

  3. 选择“特定资源”

  4. 单击“指定资源”按钮并选择您项目的 lib目录。

  5. 勾选“递归包含子文件夹”

  6. 现在转到构建选项选项卡

  7. 勾选“分配控制台”

  8. 选中“在后台启动”

  9. 选中“清理后运行构建器”

  10. 选中“在手动构建期间运行构建器”

  11. 选中“在自动构建期间运行构建器”

  12. 勾选“指定相关资源的工作集”

  13. 点击“指定资源”

  14. 选择项目的 JNI 目录和其中的所有文件。

  15. 现在点击底部的确定。

现在您可以编辑并保存在您的 c 文件中,它会即时编译和创建 .so 文件。

【讨论】:

  • 我遵循了你的方法,但我得到了Please install Cygwin make package or define the GNUMAKE variable to point to it.你有什么想法来解决这个问题
  • 你肯定先安装了cygwin?最新的 Eclipse 版本不再要求您安装 cygwin。
  • 我通过重新安装 cygwin 解决了 GNUMAKE 错误,但是如果我在 Eclipse 中不使用 cygwin 设置 ndk-build,那么我会收到错误消息,上面写着 it is not valid win 32 app
  • 听起来您正在混合 32 位和 64 位程序。您必须确保所有程序的位大小相同
  • Android 工具中包含的最新版本的 Eclipse NDK 编译器不再需要
【解决方案3】:

也许,您的开发 IDE 隐藏了系统 PATH 并使用它自己的 PATH。我对 Android 3.1 的 MOTODEV Eclipse 有同样的问题。详细的解决方法在这里:How to solve problem with Motodev Eclipse for Android 3.1: wrong PATH 是针对 MOTODEV IDE 的,但 Eclipse 可能有同样的事情。

【讨论】:

    猜你喜欢
    • 2013-12-08
    • 2016-11-13
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 2012-09-26
    相关资源
    最近更新 更多