Java 在Android Studio中构建Android NDK时出错
这是我第一次在Android Studio中使用原生NDKJava 在Android Studio中构建Android NDK时出错,java,android,android-studio,android-ndk,java-native-interface,Java,Android,Android Studio,Android Ndk,Java Native Interface,这是我第一次在Android Studio中使用原生NDK 我试图添加的项目可以在这里找到: 我按照这个指南安装了NDK和所有相关的东西。然后我将jni文件夹添加到app\src\main\jni并将这一行添加到build.gradle android { externalNativeBuild { ndkBuild { path "src/main/jni/Android.mk" } } 当我尝试同步项目时,会出现以下错误:
我试图添加的项目可以在这里找到: 我按照这个指南安装了
NDK
和所有相关的东西。然后我将jni文件夹
添加到app\src\main\jni
并将这一行添加到build.gradle
android {
externalNativeBuild {
ndkBuild {
path "src/main/jni/Android.mk"
}
}
当我尝试同步项目时,会出现以下错误
:
Build command failed.
Error while executing process C:\Users\ThermalTake i7\AppData\Local\Android\Sdk\ndk-bundle\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Users\ThermalTake i7\Desktop\StarMe Git\starme_android-code\app\src\main\jni\Android.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=1 APP_PLATFORM=android-19 NDK_OUT=C:/Users/ThermalTake i7/Desktop/StarMe Git/starme_android-code/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=C:\Users\ThermalTake i7\Desktop\StarMe Git\starme_android-code\app\build\intermediates\ndkBuild\debug\lib APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}
'C:\Users\ThermalTake' is not recognized as an internal or external command,
operable program or batch file.
在搜索了一些答案后,我尝试将这一行添加到build.gradle
:
android {
defaultConfig
{
ndk {
abiFilters 'armeabi-v7a'
}
}
但仍然有同样的错误,我错过了什么添加
jni
文件夹是我必须做的所有事情吗?错误消息似乎表明构建正在尝试执行
C:\Users\ThermalTake
而不是你想要的文件
通常这是由于路径中存在空白。两个选项是使用“字符或转义空白(对于windows,请尝试使用“^”字符)来包装路径。路径来自
Android.mk
其中是LOCAL\u path:=$(调用我的目录)
因此它得到了空白。我可以在那里更改一些内容吗?这是一个错误,但我没有得到你说的包装路径或转义的部分,因为我使用了前面提到的$(调用我的目录)
。我不是这里的专家,但我看到了四个选项。尝试像这样包装本地路径:=^“$(调用我的目录)^”或本地路径:=\”$(调用my dir)\”。您可能还想尝试使用单引号。另一个选项可能是尝试使用“subst”命令将每个空格字符替换为“^”或“\”:检查此链接。如果您在linux上,您可能会遇到问题。创建指向文件的符号链接:……最后一个选项是使用不带空格的路径。;)我想建议你使用cmake工具链,而不是依赖的NDK Closure,因为我知道cmake需要加载.txt文件,但是这个项目有Android.mk
是的,Android.mk是Android原生构建的旧方法,现在推荐cmake用于新的Android原生项目。我提供了一个指向我正在尝试的项目的链接o使用Android.mk,并且它有Android.mk
,我如何转换它,或者我应该如何处理它?