【问题标题】:Android studio - ndk_build_command failing on Clean taskAndroid Studio - ndk_build_command 在清理任务上失败
【发布时间】:2019-07-19 16:07:45
【问题描述】:

我最近在我的 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

问题是我在 Files 或 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)

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

【问题讨论】:

  • 你不能更新这个:C:\Users\Tishu\AppData\Local\Android\android-ndk-r8e-windows-x86_64 指向你在 Ubuntu 上的 NDK 位置吗?
  • 我会,但我根本找不到文件。它出现在搜索中,但在我浏览项目时没有出现。 .externalNativeBuilds 文件夹不显示

标签: android android-studio android-ndk


【解决方案1】:

在我看来,这两种情况都发生过:

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

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

【讨论】:

  • 是的。这正是我的解决方案;我无意中签入了其中一些构建文件。
猜你喜欢
  • 2021-09-27
  • 2019-12-24
  • 2015-05-23
  • 2016-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
相关资源
最近更新 更多