最近在修改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.到這一步就可以成功通過編譯