我正在构建一个Android NDK项目。我在构建项目时遇到以下错误:
处理'命令'C:\ Users \ my-user \ AppData \ Local \ Android \ Sdk \ ndk-bundle / ndk-build.cmd''完成并退出值2(状态:FAILED)
我知道是由哪个任务引起的,但事实证明,由于.mk
和.sh
脚本是为Linux编写的,而我是Windows用户,因此它似乎可能失败了。
因此,我一直在浏览每个.mk
和.sh
文件,并将其转换为在Windows上运行,例如:
更改如下行:
SOME_PROJECT_DIRECTORY := $(shell cd $(LOCAL_PATH)/build;pwd)
收件人:
RMSDK_HOME := $(LOCAL_PATH)/build
但是,我陷入了这样的困境:
SHELL_RESULT := $(shell $(SOME_PROJECT_DIRECTORY)/android/MyShellScript.sh $(SOME_PROJECT_DIRECTORY))
shell脚本在哪里:
#!/bin/bash
if [ -n "$1" ]
then
MY_DIRECTORY=$1
else
... etc ...
当然,您不能在Windows上运行.sh
脚本,这意味着我通常必须手动将这些脚本重写为批处理文件或Windows可以读取的内容。但是我想知道是否有任何方法可以构建该项目而不必对文件进行任何更改?即有没有一种方法可以为Linux和Windows生成这些文件?
答案 0 :(得分:2)
您最好的朋友是WSL。在Windows 10上,您将获得本机语言Linux Shell。您使用NDK的Linux(x86_64)版本,一切正常。将其集成到Android Studio中可能很棘手,但是无论如何,您通常更喜欢为第三方组件使用预构建的库。
如果您的计算机上装有git,则您具有git bash shell。可能值得尝试从该shell构建项目。