项目的源码在这里:
http://code.google.com/p/flying-on-android/
因为用到了dlopen等函数,所以,编译ToolLibrary时,需要给LOCAL_SHARED_LIBRARIES加上libdl。
调用当前目录的子目录下面的Android.mk时,写法如下:
include $(LOCAL_PATH)/lib/Android.mk
如果像下面这样写的话
include lib/Android.mk
实际搜索目录是/lib/Android.mk
dlsym通过名字来定位方法,所以,方法不能重载。
dlopen也可以传入路径,如:/system/lib/libflying_display.so
编译出来的.so库被安装到/system/lib目录下:
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
如果想安装到/system/lib/hw下面的话,就这样写:
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
LOCAL_SHARED_LIBRARIES和LOCAL_LDLIBS是什么关系?