android framework层引入第三方jar包

Android framework层引入第三方jar包

写在前面的话

本文主要记录在Android Framework Service (frameworks/base/services/core)中如何引入并使用第三方库(okhttp.jar),采用的是静态库的形式。

一、添加 okhttp.jar

首先需要将 okhttp.jar 放到系统中,并编写 mk 文件 ,作为一个静态库 。路径可以自己放,我放在 prebuilts\misc\common 下。
prebuilts\misc\common\okhttp-3.12\Android.mk文件

include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := okhttp-3.12:okhttp-3.12.0.jar
LOCAL_MODULE_TAGS := optional
include $(BUILD_MULTI_PREBUILT)

android framework层引入第三方jar包_第1张图片

二、到framework下对应的mk文件中添加依赖

frameworks\base\services\core\Android.mk文件

# LOCAL_STATIC_JAVA_LIBRARIES := tzdata_update bms
# 注意,okhttp 依赖 okio,而解析 json 我习惯用 gson , 所以把这3个库一起打包进来了
LOCAL_STATIC_JAVA_LIBRARIES := tzdata_update bms gson okio okhttp-3.12

三、编译测试

mmm frameworks/base/services/ 编译即可,最后这个 okhttp 库会被一起打包到生成的 service.jar 中

写在后面的话

集成静态依赖比较简单,但是动态依赖就比较麻烦了,需要进行 check boot jar ,需要添加白名单,还有一些其他的坑,后面有时间再研究

你可能感兴趣的:(技术)