[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化

以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。

[Android]如何做一个崩溃率少于千分之三噶应用app–章节列表

其实开发的初衷并没想过要使用Small插件化

但是往后面开发功能模块迭代越来越臃肿后,期望用户每次升级这么大容量的app是不科学的。

然后考虑到,我们的工程架构其实有点特殊,并不像其他单一module架构那样。

然后我们发现了Small新型的这个插件化方式,跟我们工程架构不谋而合Small地址

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

Small优势在于

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

可以先看Android 建立Small工程

(1)注意的地方建立module的时候,一定要注意lib和web、app命名是不同的。

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

(2)模板默认一个main的入口,需要自己再建立一个App.main的module,App.main的module移植自己的代码相当于自己原app的入口。而本来模板生成的app 模块,可以不用做任何操作。

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

(3)如果是需要添加成多个的Tab的Fragment,可以使用Small的接口Small.createObject

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

    如果有看过我第6节动态创建的内容,可以明白,我是将每一个Fragment隔离为一个module的。

(4)因为我是将每个Fragment都定义为lib的module,所以命名需要遵从Small的规范,需要命名为lib.xxx(请注意一定要遵从命名规范)

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

  app的asset里面bundle.json添加声明

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

可以看到sUris的需要重写lib的地址

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

createObject是通过命名查询创建的

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

(5)关于Activity之间的跳转

        如果是保内,直接可以使用startActivity

        如果是包之间的跳转,需要使用Small的接口

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

        如果跳转网页,也是需要使用Small的接口

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

(6)然后我们需要完成编译

       使用./gradlew buildLib编译lib的module

       使用./gradlew buildBundle编译一般的module 

       请注意,需要编译的bundle一定要在bundle.json里面声明

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

  (7)编译安装app这个module即可在手机上运行

***2017.3.7******

关于Small提到模板问题

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

在mac的模板地址在

《[Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化》

在window下的模板地址

\Android Studio\plugins\android\lib\templates\gradle-projects

    这一节就介绍到这里。

    完成了Small的模块编译基础,之后我去写一个源码分析的相关文章,至于会踩到什么坑,我会在那边文章里面具体分析。

    这个系列的相关文章,下一节的内容先保密罗。

    敬请期待!!!

    原文作者:CangWang
    原文地址: https://www.jianshu.com/p/4771114265c8
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞