Android NDK - нет правил сделать цель. Стоп - PullRequest
0 голосов
/ 26 января 2019

Были некоторые решения об этой ошибке. Но они не решили мою проблему.

Я создал проект 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 '. Стоп.

Файловая структура здесь enter image description here

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...