现在我有一个由DNK开发的文件。我想在Linux中调用so文件使用C语言。但它总是提示:
[root@PCGiter Code]# gcc SoTest2.c -o SoTest2.exe -ldl
[root@PCGiter Code]# ./SoTest2.exe
Open Error:libcom_wuba_aes_ExecV3_1_0.so: cannot open shared object file: No such file or directory.
答案 0 :(得分:1)
这个答案是为Android创建可执行文件并在Linux中执行它们,但不是如何在Linux中执行Android可执行文件。
使用Android-ndk构建源文件,然后您可以直接复制到模拟器并在adb shell中执行。
用于为android创建可执行文件的make文件示例
# For building the Test executable
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Linker flags
LOCAL_LDLIBS += -llog
LOCAL_LDLIBS += -lOpenSLES
LOCAL_LDLIBS += -landroid
# Include paths
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)
# Local C Flags if any
LOCAL_CFLAGS :=
# Source Files to compile
LOCAL_SRC_FILES := \
# Shared libraries to be used while linking
LOCAL_SHARED_LIBRARIES :=
# Local module name
LOCAL_MODULE :=
include $(BUILD_EXECUTABLE)
您可以通过启动模拟器然后在命令提示符“adb shell”中执行命令来进入模拟器shell。
通常我观察到的只是复制到/ data /文件夹时,我才能执行。其他文件夹,如/ mnt / sdcard,我无法执行可执行文件。