Недавно я проверил проект, изначально созданный под 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)
Как отключить этот шаг или обновить его, чтобы он соответствовал моей платформе?
Я бы хотел, но я не могу найти файл вообще. Он появляется в поиске, но не когда я просматриваю проект. Папка .externalNativeBuilds не отображается
Мне кажется, что произошло одно из следующих событий:
Кто-то проверил каталог .externalNativeBuild в репозитории, чего им не следовало делать. Инструменты сборки должны сгенерировать этот каталог для вас локально. Если вы не видите каталог в проводнике, нажмите Ctrl+H или любую другую команду, чтобы отобразить скрытые файлы. Затем удалите каталог и запустите синхронизацию градиента. Или просто удалите его из окна терминала.
Кто-то проверил файл local.properties в репозитории и в нем установил свойство ndk.dir на путь Windows. Опять же, этот файл, вероятно, не должен быть частью вашего общего репозитория. Если это то, что произошло, вы можете исправить это, отредактировав файл и указав правильный путь NDK для вашего компьютера, а затем запустив синхронизацию gradle.
Ага. Это было именно то решение в моем случае; Я случайно зарегистрировал в репозитории некоторые из этих файлов сборки.
вы не можете обновить это:
C:\Users\Tishu\AppData\Local\Android\android-ndk-r8e-windows-x86_64чтобы указать на ваше местоположение NDK в Ubuntu?