android 动态调用jar包,Android动态加载Jar(包含第三方依赖Jar)

本文介绍了如何在Android项目中实现动态加载包含第三方依赖的Jar包,详细讲解了从创建Library工程、生成和合并Jar、使用DX工具处理到最终的动态加载调用的全过程,以解决仅更新功能模块而无需更新整个APK的需求。
摘要由CSDN通过智能技术生成

最近项目有一个需求,需要根据用户需求动态加载APP内某功能模块,且当该部分功能模块代码有变动,只需更新该功能JAR,无需更新整个APK,基于这个需求,决定采用动态加载Jar的方式去实现,于是各种查资料进行验证,终于搞定,由于最近脑子容量不够,所以将实现方式整理出来并开放给大家进行参考。

实现过程需要注意的点:

1、当我们实现功能的Library工程中还依赖了其他第三方Jar,我们需要将其合并,否则你生成的Library对应的Jar包不含第三方文件会报错;

2、Android的虚拟机(Dalvik VM)是无法识别Java打出jar的class文件,DVM识别的是dex文件,所以需要通过dx工具转换成包含有dex文件的jar;

所以整个过程可以分为以下三个步骤来实现:

第一步:创建Library工程,导出Jar;

第二步:将主Jar和依赖Jar进行合并(ANT),将合并后的Jar进行DX处理;

第三步:利用DexClassLoader动态加载;

下面通过一个例子来介绍具体实现,首先看一下整个项目组成部分:

45c0ca42ba48?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值