android framework层引入第三方jar
2016-10-18 本文已影响518人
archur
最近在修改android系统源码,想引入第三方jar文件(weka.jar),一开始直接将weka.jar添加到BUILD PATH,虽然调用的时候没有报错,但是当编译的时候,打印找不到weka.jar,后来找到如下方法成功调用第三方jar。
1.添加weka.jar
在mydroid/frameworks/opt/目录下新建weka目录,用于存放weka.jar包和mkfile文件,将weka.jar拷贝到该目录下,然后新建Android.mk文件,Android.mk文件内容如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := weka:weka.jar
include $(BUILD_MULTI_PREBUILT)
2.添加jar到framework的jar包中
修改android系统源码mydroid/frameworks/base/Android.mk文件:
# ==== the library =========================================
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(ext_src_files)
LOCAL_NO_STANDARD_LIBRARIES := true
LOCAL_JAVA_LIBRARIES := core
LOCAL_JAVA_RESOURCE_DIRS := $(ext_res_dirs)
#-------add weka.jar----
LOCAL_STATIC_JAVA_LIBRARIES := weka
#-------end add.
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := ext
LOCAL_DX_FLAGS := --core-library
include $(BUILD_JAVA_LIBRARY)
3.编译相应模块
mmm mydroid/frameworks/opt/weka/
mmm mydroid/frameworks/base/
4.在工程文件中将weka.jar添加到BUID PATH
5.到这一步就可以成功通过编译