Android Framework中引入第三方框架jar包

公司在做framework开发,所以有时候经常需要引入第三方框架更快捷的进行开发,这里我吸取前人的经验,总结如下:
1.比如我现在负责模块是这个/work/current360/alps/packages/apps/Settings,那么我就在此目录下新建一个libs目录,里面存放我需要导入的包,如图:
这里写图片描述

2.在Android.mk里加入以下字段:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)


LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := okio-1-7-0:libs/okio-1.7.0.jar
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += okhttp-2-7-5:libs/okhttp-2.7.5.jar
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += gson-1-7-1:libs/gson-1.7.1.jar

include $(BUILD_MULTI_PREBUILT)
include $(CLEAR_VARS)



ifeq ($(strip $(MTK_CLEARMOTION_SUPPORT)),no)

LOCAL_ASSET_DIR := $(LOCAL_PATH)/assets_no_clearmotion
else
LOCAL_ASSET_DIR := $(LOCAL_PATH)/assets_clearmotion
endif

LOCAL_JAVA_LIBRARIES := bouncycastle conscrypt telephony-common ims-common \
                        mediatek-framework

LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 android-support-v13 jsr305 \
                               com.mediatek.lbs.em2.utils \
                               com.mediatek.settings.ext

LOCAL_MODULE_TAGS := optional


LOCAL_STATIC_JAVA_LIBRARIES += okio-1-7-0 okhttp-2-7-5 gson-1-7-1


LOCAL_SRC_FILES := \
        $(call all-java-files-under, src) \
        src/com/android/settings/EventLogTags.logtags

LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/res_ext

LOCAL_PACKAGE_NAME := Settings
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

ifneq ($(INCREMENTAL_BUILDS),)
    LOCAL_PROGUARD_ENABLED := disabled
    LOCAL_JACK_ENABLED := incremental
endif

include frameworks/opt/setupwizard/navigationbar/common.mk
include frameworks/opt/setupwizard/library/common.mk
include frameworks/base/packages/SettingsLib/common.mk

include $(BUILD_PACKAGE)


ifeq (,$(ONE_SHOT_MAKEFILE))
include $(call all-makefiles-under,$(LOCAL_PATH))
endif

我们只需要注意看

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES
include (BUILDMULTIPREBUILT)include (CLEAR_VARS)
LOCAL_STATIC_JAVA_LIBRARIES

这四个标签:
第一个标签是自己预置的jar包,里面第一个按照规范写,okio-1-7-0:libs/okio-1.7.0.jar,:前面的标签可以任意写,但是后面就要写libs下的真正路径,比如我的就算放置在libs/okio-1.7.0.jar下,所以写的就是这个,比如我要放置EventBus,那我这样写LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := eventbus-3.1.0-RC:libs/eventbus-3.1.0-RC.jar就没错;

第二个标签是编译预置的jar,必须要写;

第三个标签是清除上面的变量(反正记住加完第三方jar就写这个,防止对后面的java library造成干扰);

第四个就是写libs下jar包的文件名。注意,如果有多个文件就要添加+操作符号,比如上面看到的

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := okio-1-7-0:libs/okio-1.7.0.jar
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += okhttp-2-7-5:libs/okhttp-2.7.5.jar
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += gson-1-7-1:libs/gson-1.7.1.jar

这里后面两个jar就是加了+,同理,LOCAL_STATIC_JAVA_LIBRARIES += okio-1-7-0 okhttp-2-7-5 gson-1-7-1也是如此,同样的标签都需要进行这样操作,不然就是覆盖了,显然不合理,我们要的只是追加。经过这些操作,我们已经完成jar
包的添加,可以很方便的使用了(编译完成也没出错,记得在使用的时候进行导入,framework下的导入还是比较麻烦的)。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Android框架是一种提供核心功能和服务的软件包,用于开发Android应用程序。Android框架jar文件是包含了Android框架的Java类和方法的文件。在开发Android应用程序时,我们需要使用这些框架提供的功能和服务来实现各种功能。 要下载Android框架jar文件,我们可以通过以下几种方式来获取: 1. Android开发工具包(Android SDK):Android SDK是开发Android应用程序的主要工具集。它包含了Android框架的完整版本,包括所有核心类和方法。在下载Android SDK时,我们可以选择下载附带的框架jar文件。我们可以访问Android开发者官网(https://developer.android.com)下载适用于我们的操作系统的最新版本的Android SDK。 2. Android应用程序包(APK):某些应用程序的APK文件可能会包含一些Android框架的类和方法。为了获取这些框架jar文件,我们可以下载对应的APK文件,并使用一些特殊工具来提取其的资源文件,包括框架jar文件。这种方法适用于某些特定的应用程序,比如开源应用程序或一些提供开放API的应用程序。 3. 第三方库:在开发过程,我们可能会使用一些第三方库来扩展Android框架的功能。这些库通常包含一些额外的框架jar文件,我们可以从对应的库的官方网站或代码仓库下载这些文件。常见的第三方库包括Retrofit、OkHttp、Gson等。 总而言之,要下载Android框架jar文件,我们可以通过下载Android SDK,提取APK文件的资源文件,或者通过获取相关第三方库来获取。这些jar文件包含了Android框架的核心类和方法,可以为我们的Android应用程序提供需要的功能和服务。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值