android framework中添加使用第三方jar包

有时后需要在framework中使用第三方的jar包。本文以在framewrok中添加apache的ant.jar为例记录使用方法。


1、添加jar文件

在android/frameworks/opt/目录下新建ant目录用于存放ant的jar包和mkfile文件,将ant.jar拷贝到该目录下,然后新建Android.mk文件,Android.mk文件内容如下

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := ant:ant.jar

include $(BUILD_MULTI_PREBUILT)

2、添加jar到framework的jar包中

修改android系统源码android/frameworks/base/Android.mk文件。在其中library部分添加如下配置

LOCAL_STATIC_JAVA_LIBRARIES := ant 
如下为本文的Android.mk中的修改部分。

# Build ext.jar
# ============================================================

# NOTICE notes for non-obvious sections
# apache-http - covered by the Apache Commons section.


ext_dirs := \
        ../../external/nist-sip/java \
        ../../external/apache-http/src \
        ../../external/tagsoup/src \
        ../../external/libphonenumber/java/src

ext_src_files := $(call all-java-files-under,$(ext_dirs))

ext_res_dirs := \
        ../../external/libphonenumber/java/src

# ====  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 ant.jar----
LOCAL_STATIC_JAVA_LIBRARIES := ant 
#-------end add.
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := ext 

LOCAL_DX_FLAGS := --core-library

include $(BUILD_JAVA_LIBRARY)


# Include subdirectory makefiles
# ============================================================

3、编译

先编译opt下的ant目录,执行如下命令:

mmm android/frameworks/opt/ant/

然后编译framework,执行如下命令:

mmm android/frameworks/base/

4、使用方法

在framework中的java文件中引入需要使用的jar包,然后使用即可。

你可能感兴趣的:(android,framework)