android - 不能在 Cygwin 上使用 ndk-build

标签 android cygwin android-ndk

我必须将 NDK 用于客户端项目。我正在使用 Windows 7。

我按照安装说明进行操作。我已经安装了 Cygwin 1.7.1。

在 Cygwin bash 中,我进入 android NDK 根目录。

当我看到目录的内容时,使用 $dir 命令,我可以看到包括 ndk-build 在内的所有内容,但是当我尝试使用 ndk-build 时,这是我得到的结果:

$ndk构建 bash:ndk-build:找不到命令。

不确定我做错了什么。

最佳答案

Cygwin 在您的 Windows 计算机上模拟 GNU/Linux 环境。这意味着您正在使用与 Windows 命令行不完全相同的“Shell”。

如果您在 Windows 命令行中键入 asdf.exe,它会尝试在当前目录中查找 asdf.exe。如果它能找到它,则执行该文件。如果找不到它,它将遍历 %PATH% 的每个目录并重试。

但是,如果您在 bash 中键入 asdf(有多种 shell,Bourne Again SHell 就是其中之一),它将不会处理它在当前目录中。相反,它会尝试在您的 PATH 目录之一中找到它。不能在这里给你任何消息来源,但 AFAIK 这是出于安全原因。如果你想运行一个不在你的 PATH 中的文件,你必须在它前面加上它的绝对路径或相对路径。你可以使用./,它指向当前目录。

这就是为什么您需要键入 ./ndk-build 的原因,因为它位于当前目录中,而不是您的路径中。像 /path/to/ndk/ndk-build 这样的东西也可以,但你必须多输入一点:)。

(其实更复杂,如果你想执行一个文件,你需要它的执行权限。如果你有任何问题谷歌会帮助你。)

关于android - 不能在 Cygwin 上使用 ndk-build,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4797509/

相关文章:

android - Google Assistant 语音搜索集成不适用于多个词

windows - Cygwin:Git stash -> 无法保存当前索引状态

cygwin - 在 Cygwin 下构建 0MQ

android - React-Native + Android,只为 armeabi 架构构建

java - 使用 CMake 时如何在 Gradle 构建脚本中设置 NDK 路径?

android - 普通的 native Android 商店应用程序能否执行我自己生成的 JIT 代码,或者安全性是否会阻止这种情况?

android - 无法运行gradle

android - BadTokenException无法添加窗口(ProgressDialog)

android - 使用按钮在 RecyclerView 中动态添加项目

c - Cygwin 中的内存泄漏检测工具