android动态加载框架使用

本文介绍了Android动态加载框架DroidPlugin的集成过程,包括宿主和插件的配置步骤。在实际操作中,可能会遇到如bundle-info.json数组下标越界的问题,文章对此进行了讨论。
摘要由CSDN通过智能技术生成
一、small
1、配置build.gradle
2、新建module的包名包含:.app., .lib.或者.web
3、新建assets(宿主)
4、配置签名和依赖(宿主)
5、配置Application(宿主)
6、加载插件(宿主)
7、编译插件(宿主)
8、运行
其他:
1、activity跳转靠配置bundle.json文件,uri配置别名,pkg配置包名,默认打开pkg包名下的MainActivity文件。跳转时用?携带参数传递。
2、对模块的包名有要求
3、使用结果:跳转的时候打不开app,问题是build的时候没有clean。
4、限制:插件和宿主在同一进程中,要么内置插件,要么在启动页下载插件,不适合动态加载的SDK。
异常:
1、编译异常
解决方案:点击IDE右侧的gradle,运行clean再build

二、ACDD
1、所有Atlas的插件,都需要在build.gradle文件中指定资源分区,也就是versionName后加上[0x1, 0x7f]之间的值,使用补丁aapt进行打包。替换aapt.exe
2、宿主添加openatlascore项目为依赖
3、宿主Application继承自AtlasApp
4、插件包名以com开头,将这个module中的清单文件中关于引用v7包中的资源删除,比如主题,也就是在清单文件中删除style属性,在style.xml中删除所有主题什申明。将v4,v7包以provided形式提供(至于provided,是提供给那些只编译不打包场景的命令)。
5、在宿主清单文件中申明插件的activity
异常:
1、
 W/System.err: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.demo/com.example.mysmall.fenbei.MainActivity}: java.lang.ClassNotFoundException: Can't find class com.example.mysmall.fenbei.MainActivityinstalled bundles:   Not found class com.example.m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值