有时后需要在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.jarinclude $(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/srcext_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 := trueLOCAL_JAVA_LIBRARIES := coreLOCAL_JAVA_RESOURCE_DIRS := $(ext_res_dirs)#-------add ant.jar----LOCAL_STATIC_JAVA_LIBRARIES := ant #-------end add.LOCAL_MODULE_TAGS := optionalLOCAL_MODULE := ext LOCAL_DX_FLAGS := --core-libraryinclude $(BUILD_JAVA_LIBRARY)# Include subdirectory makefiles# ============================================================

3、编译

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

mmm android/frameworks/opt/ant/

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

mmm android/frameworks/base/

4、使用方法

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

更多相关文章

  1. Android(安卓)存储之文件存储
  2. Android不同手机屏幕分辨率自适应
  3. Android中自带的SQLite数据库
  4. Android(安卓)init源代码分析(1)概要分析
  5. Android(安卓)蓝牙开发:第一日
  6. 使用AndroidStudio生成打有系统签名的apk
  7. ubuntu 编译 Android(安卓)出现的若干错误及解决方法
  8. Android(安卓)NDK开发之旅(5):Android(安卓)Studio中使用CMake进
  9. Android(安卓)Studio查看Android(安卓)5.x源码的步骤详解

随机推荐

  1. 自定义View-Rect和RectF
  2. Android使用ViewPager实现类似laucher左
  3. Android(安卓)layout之优化:使用include和
  4. tag tab label在android的区别
  5. Android(安卓)VideoView播放本地视频短暂
  6. Android(安卓)SurfaceView 详解
  7. 申请Mob的SMSSDK的短信验证功能及获取包
  8. Android(安卓)添加按电源键结束通话
  9. 自定义Dialog 去掉标题
  10. Android中实现为TextView添加多个可点击