随着项目的增大不得不考虑将APK进行拆包,但是仍然解决不了单个APK包过大,模块化不明晰,所以为了解决这个问题,我想到了三种方式,现总结如下
第一种:
宿主APK只做一个壳子,里面包含多个APK,用户点击进行下载子APK,如果下载完了直接打开子APK,开发过程中,公共资源使用lib方式引入
问题 :1,公共资源会打包到多个APK,造成APK庞大
2,子APK与宿主APK交互及子APK之间交互不方便
第二种:
宿主APK包含多个插件APK,宿主APK通过dexclassloader加载加载下载先来的制定APK,并通过反射机制调用插件APK的方法
问题:1,资源访问
2,插件Activity生命周期的管理
3,插件activitty常用服务,广播等如何使用
第三种:
采用webview,服务器端使用PHP+HTML5开发或使用sencha touch开发
问题:用户体验不是很好