神刀安全网

android app bundle的Dynamic feature moudle

1.新建module(类似模块化)

as3.2 canary14+上面
new Module 选择Dynamic Feature Module
选择baseMoudle(apply plugin application那个)
enable on-demoand(“动态加载”)
fusing(兼容5.0之前)

2.简单测试

baseModule跳转到Dynamic Feature Module
(由于本模块访问不到其他模块,采用的是简单的隐式跳转,当然也可以用router)

3. 反编译分析

看一下加了dynamic feature module后的apks多了dynamci-feature相关的apk

android app bundle的Dynamic feature moudle

image.png

按照之前的方式生成aab apks 按照apk到手机上,然后点击跳转可以正常跳转,而且看现象像是baseModule的apk启动了dynamicModule的apk

导出对应手机配置apk:

android app bundle的Dynamic feature moudle

image.png

直接安装导出的apk只有base-master可以安装,而且跳转会闪退,这个可以理解因为已经没有dynamic-featuer-master.apk相关的代码了。
但是当反编译安装在手机上可以正常运行的apk时,得到的也只有base-master的代码

android app bundle的Dynamic feature moudle

image.png

所以dynamic-feature-module的大概意思是把独立业务的apk也放在手机里面,但是和主apk是分开的,等到要用的时候再调起dynamic-feature的apk?

而且由于没有服务器,不太清楚google Play的onDemond(用到再下载)是怎么个流程。可能是要用dynamic-feature-module了,再从服务器里面把对应的apk或者dex下载下来,再在本地执行上面说的流程。

emmmm…………
为了再确认下,我又写了个模块化的跳转,
就是apply plugin: ‘com.android.library’那种
然后运行发现没有其他apk调起的感觉
反编译运行的apk,也直接就是两个module代码都在,估计这就是dynamic-feature-module不一样的地方?

android app bundle的Dynamic feature moudle

image.png

其他:

总觉得要在google play上试试才放心,本地虽然可以通过bundleTool测试,但是onDemand的概念不好理解。

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » android app bundle的Dynamic feature moudle

分享到:更多 ()