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)

如何禁用此步骤,或将其更新为与我的平台相关?

在我看来,这些事情中的任何一件都发生过:

  1. 有人将 .externalNativeBuild 目录检查到存储库中,这是他们不应该做的。构建工具应该在本地为您生成该目录。如果在文件资源管理器中看不到目录,请按 Ctrl+H 或任何显示隐藏文件的命令。然后删除目录并触发 gradle 同步。或者只是从终端删除它 window.

  2. 有人将 local.properties 文件签入了存储库,并在其中将 ndk.dir 属性 设置为 Windows 路径。同样,该文件可能不应该是您共享存储库的一部分。如果发生这种情况,您可以通过编辑文件并为您的机器指定正确的 NDK 路径,然后触发 gradle 同步来修复它。