サンプルのネイティブ プロジェクトを実行しています。Android1.mk と Android2.mk の 2 つの make ファイルがあります。2 つ目は、プロジェクト フォルダーの外に配置されます。私の android studio プロジェクトは次の場所にあります。
H:/Ndk_Dev/デモ
Android1.mk は次の場所にあります
H:/Ndk_Dev/Demo/app/src/main/jni
Android2.mk は次の場所にあります。
H:/Ndk_Dev/externalJni
Android1.mk が含まれています。
LOCAL_PATH := $(call my-dir)
MY_ROOT_PATH := $(abspath $(LOCAL_PATH)/../../../../../)
.......
.......
.......
include $(MY_ROOT_PATH)/externalJni/Android2.mk
しかし、コンパイル中に、私が得たパスは
LOCAL_PATH -------> H:/Ndk_Dev/Demo/app/src/main/jni
MY_ROOT_PATH -------> H:/Ndk_Dev/Demo/app/src/main/H:/Ndk_Dev
そのため、Android2.mk の無効なパスを指しています。
H:/Ndk_Dev/Demo/app/src/main/H:/Ndk_Dev/externalJni/Android2.mk
私の理解でMY_ROOT_PATH
は、H:/Ndk_Dev
Windows で $(abspath) を呼び出す際の問題を誰かに知ってもらいます。