Студия Android - ndk_build_command не работает при выполнении задачи Clean

Недавно я проверил проект, изначально созданный под Windows (с использованием JNI) в моей студии на Ubuntu.

Когда я запускаю чистую задачу, я вижу ошибку, когда она пытается выполнить команду 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 чтобы указать на ваше местоположение NDK в Ubuntu?

Shark 19.07.2019 18:14

Я бы хотел, но я не могу найти файл вообще. Он появляется в поиске, но не когда я просматриваю проект. Папка .externalNativeBuilds не отображается

tishu 19.07.2019 18:18
1
2
568
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мне кажется, что произошло одно из следующих событий:

  1. Кто-то проверил каталог .externalNativeBuild в репозитории, чего им не следовало делать. Инструменты сборки должны сгенерировать этот каталог для вас локально. Если вы не видите каталог в проводнике, нажмите Ctrl+H или любую другую команду, чтобы отобразить скрытые файлы. Затем удалите каталог и запустите синхронизацию градиента. Или просто удалите его из окна терминала.

  2. Кто-то проверил файл local.properties в репозитории и в нем установил свойство ndk.dir на путь Windows. Опять же, этот файл, вероятно, не должен быть частью вашего общего репозитория. Если это то, что произошло, вы можете исправить это, отредактировав файл и указав правильный путь NDK для вашего компьютера, а затем запустив синхронизацию gradle.

Ага. Это было именно то решение в моем случае; Я случайно зарегистрировал в репозитории некоторые из этих файлов сборки.

Oke Uwechue 05.02.2020 03:57

Другие вопросы по теме