android - 为什么 Android.mk 文件中的 $(call my-dir) 返回了错误的路径?

标签 android makefile android-ndk ndk-build

当我尝试将 .so 编译为 bibiliotek 时,我收到一条错误消息,指出方式不正确,而不是我期望的本地方式,我看到了一种通往 NDK 的方式,问题出在我的 MK 文件上:

include $(CLEAR_VARS)

LOCAL_PATH := $(call my-dir)
@echo "Local path = $LOCAL_PATH"

SCRIPT := $(LOCAL_PATH)/LuaJIT/build.sh
ECHO_RESULT1 := $(shell $(SCRIPT))
#ECHO_RESULT := $(shell ($(LOCAL_PATH)/LuaJit/build.sh))
@echo "ECHO_RESULT1=$(ECHO_RESULT1)"

include $(CLEAR_VARS)
LOCAL_MODULE    := libluajit
LOCAL_SRC_FILES := $(LOCAL_PATH)/jnlua/src/libluajit.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libjnlua
LOCAL_C_INCLUDES += $(LOCAL_PATH)/LuaJit/src
LOCAL_SRC_FILES := $(LOCAL_PATH)/jnlua/src/jnlua.c
LOCAL_LDLIBS := -llog
LOCAL_CFLAGS := -O2 -Wall -DLUA_COMPAT_ALL
#LOCAL_SHARED_LIBRARIES := libjavavm 
LOCAL_STATIC_LIBRARIES := libluajit

# POSIX as we're on linux, and compatibility mode in case you'll be running scripts written for LUA <5.2

include $(BUILD_SHARED_LIBRARY)

我在输出中收到:

11:30:47 **** Incremental Build of configuration Default for project jnlua-android ****
"C:\\Users\\Dev1\\Downloads\\android-ndk-r10e-windows-x86_64\\android-ndk-r10e\\ndk-build.cmd" V=1 all all 
Android NDK: ERROR:jni/Android.mk:luajit: LOCAL_SRC_FILES points to a missing file    
process_begin: CreateProcess(NULL, C:/Users/Dev1/Downloads/android-ndk-r10e-windows-x86_64/android-ndk-r10e/build/core/LuaJIT/build.sh, ...) failed.
C:/Users/Dev1/Downloads/android-ndk-r10e-windows-x86_64/android-ndk-r10e/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting    .  Stop.
Android NDK: Check that C:/Users/Dev1/Downloads/android-ndk-r10e-windows-x86_64/android-ndk-r10e/build/core/jnlua/src/libluajit.a exists  or that its path is correct   

11:30:47 Build Finished (took 122ms)

最佳答案

cd 到 jni 目录并调用 ndk-build,这对我有用。

关于android - 为什么 Android.mk 文件中的 $(call my-dir) 返回了错误的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35451642/

相关文章:

具有动态 URL 的 Java android webview

c++ - Cmake 未使用 "target_link_directory"正确添加目录

c - make 不成文的规则

android - 如何部署可以从我的应用程序加载的 android 插件

c++ - 在 Android NDK 中使用 "sp"

c++ - ReleaseFloatArrayElements 和 DeleteLocalRef 有什么区别

android - 是否可以从 apk 文件中提取 google-services.json?

android - 拔下 USB 数据线后重新连接应用程序进行调试

android - 在 android 中获取 MD5 指纹的 cmd 提示中的问题

c++ - 如何在 CMake 中设置编译标志?