Android DNK开发了这样的文件。如何在Linux中直接调用它?

时间:2012-12-17 09:06:34

标签: android-ndk

现在我有一个由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.

1 个答案:

答案 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,我无法执行可执行文件。