Были некоторые решения об этой ошибке. Но они не решили мою проблему.
Я создал проект C ++ в Android Studio. Он использует сборку cmake и работает. Но я хотел использовать ndk-build. Итак, я удалил приведенный ниже код из build.gradle:
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
Я создал папку jni под src / main. Затем я создал файлы Android.mk и Application.mk.
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := native-lib.cpp
LOCAL_MODULE := native-lib
include $(BUILD_SHARED_LIBRARY)
Application.mk
LOCAL_PATH := $(call my-dir)
APP_BUILD_SCRIPT := $(LOCAL_PATH)/Android.mk
APP_ABI := armeabi x86
APP_PLATFORM := android-19
APP_STL := gnustl_static
NDK_TOOLCHAIN_VERSION := 4.9
build.gradle
externalNativeBuild {
ndkBuild {
path 'src/main/jni/Android.mk'
}
}
Сообщение об ошибке ниже
make: *** Нет правил для создания цели PROJECTPATH/app/src/main/jni/native-lib.cpp', needed by
PROJECTPATH / app / build / промежуточные / ndkBuild / debug / obj / local / armeabi / objs / native-lib / native-lib.o '. Стоп.
Файловая структура здесь
EDIT
Я нашел решение. Я не удаляю этот вопрос. Я изменил значение LOCAL_SRC_FILES в файле Android.mk. И это работает!
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := native-lib
LOCAL_SRC_FILES := $(LOCAL_PATH)/../cpp/native-lib.cpp
include $(BUILD_SHARED_LIBRARY)