Android 工作室 - ndk_build_command 清理任务失败
Android studio - ndk_build_command failing on Clean task
我最近在我的工作室 Ubuntu
上检查了一个最初在 Windows 下构建的项目(使用 JNI)
当我 运行 一个干净的任务时,当它试图执行似乎是 Windows ndk-clean 命令时我看到一个错误
org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:UsersTishuAppDataLocalAndroidandroid-ndk-r8e-windows-x86_64android-ndk-r8endk-build.cmd
我不确定是什么触发了这个命令,但它发生在这个任务中:'externalNativeBuildCleanDebug'
我在我的项目中搜索了对 'AppData' 的引用,但在此文件中发现很少:project/.externalNativeBuilds/ndkbuild/debug/mips/ndkBuild_build_commands.txt
此文件包含 windows 相关信息,以
开头
Executable : C:\Users\Tishu\AppData\Local\Android\android-ndk-r8e-windows-x86_64\android-ndk-r8e\ndk-build.cmd
问题是我在“文件”或“Studio”中找不到此文件。 .externalNativeBuilds 文件夹不显示。我有这是我的 build.gradle
externalNativeBuild {
ndkBuild {
path 'src/main/jni/Android.mk'
}
}
而 Android.mk 文件仅包含
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_ALLOW_UNDEFINED_SYMBOLS=false
LOCAL_MODULE := jpgexif
LOCAL_SRC_FILES := JpgExif.c
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
include $(BUILD_SHARED_LIBRARY)
如何禁用此步骤,或将其更新为与我的平台相关?
在我看来,这些事情中的任何一件都发生过:
有人将 .externalNativeBuild
目录检查到存储库中,这是他们不应该做的。构建工具应该在本地为您生成该目录。如果在文件资源管理器中看不到目录,请按 Ctrl+H
或任何显示隐藏文件的命令。然后删除目录并触发 gradle 同步。或者只是从终端删除它 window.
有人将 local.properties
文件签入了存储库,并在其中将 ndk.dir
属性 设置为 Windows 路径。同样,该文件可能不应该是您共享存储库的一部分。如果发生这种情况,您可以通过编辑文件并为您的机器指定正确的 NDK 路径,然后触发 gradle 同步来修复它。
我最近在我的工作室 Ubuntu
上检查了一个最初在 Windows 下构建的项目(使用 JNI)当我 运行 一个干净的任务时,当它试图执行似乎是 Windows ndk-clean 命令时我看到一个错误
org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:UsersTishuAppDataLocalAndroidandroid-ndk-r8e-windows-x86_64android-ndk-r8endk-build.cmd
我不确定是什么触发了这个命令,但它发生在这个任务中:'externalNativeBuildCleanDebug'
我在我的项目中搜索了对 'AppData' 的引用,但在此文件中发现很少:project/.externalNativeBuilds/ndkbuild/debug/mips/ndkBuild_build_commands.txt
此文件包含 windows 相关信息,以
开头Executable : C:\Users\Tishu\AppData\Local\Android\android-ndk-r8e-windows-x86_64\android-ndk-r8e\ndk-build.cmd
问题是我在“文件”或“Studio”中找不到此文件。 .externalNativeBuilds 文件夹不显示。我有这是我的 build.gradle
externalNativeBuild {
ndkBuild {
path 'src/main/jni/Android.mk'
}
}
而 Android.mk 文件仅包含
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_ALLOW_UNDEFINED_SYMBOLS=false
LOCAL_MODULE := jpgexif
LOCAL_SRC_FILES := JpgExif.c
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
include $(BUILD_SHARED_LIBRARY)
如何禁用此步骤,或将其更新为与我的平台相关?
在我看来,这些事情中的任何一件都发生过:
有人将
.externalNativeBuild
目录检查到存储库中,这是他们不应该做的。构建工具应该在本地为您生成该目录。如果在文件资源管理器中看不到目录,请按Ctrl+H
或任何显示隐藏文件的命令。然后删除目录并触发 gradle 同步。或者只是从终端删除它 window.有人将
local.properties
文件签入了存储库,并在其中将ndk.dir
属性 设置为 Windows 路径。同样,该文件可能不应该是您共享存储库的一部分。如果发生这种情况,您可以通过编辑文件并为您的机器指定正确的 NDK 路径,然后触发 gradle 同步来修复它。