我在上一篇博客http://blog.csdn.net/sunxingzhesunjinbiao/article/details/8098998中已经简单介绍了如何利用eclipse+ndk+sdk+adt结合起来开发JNI程序,当编译运行通过后我想到了一个问题,如何将该jni程序整合到我们自己的手机系统中呢,经过不懈努力,终于搞定了
1、首先 要编写相应的mk文件,是系统编译时能将jni编译进系统
(1) apk对应的mk文件:
LOCAL_PATH:= $(call my-dir)
# the library
# ============================================================
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_MODULE_TAGS := optional
LOCAL_PACKAGE_NAME := e
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
# additionally, build unit tests in a separate .apk
include $(call all-makefiles-under,$(LOCAL_PATH))
(2)jni对应的mk文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libhello-jni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_SHARED_LIBRARY)
2、在系统中声明:路径build/core/user_tags.mk
本例子中在上述文件最后添加 libhello-jni \
3、全编系统代码,则可以正常生成jni对应的so文件了