上一篇文章讲了将项目或者moudle打成aar的过程,但是打成aar之后也会遇到一系列的问题:
1.SDK初始化问题和组件间通信问题
2.SDK网络请求和第三库的依赖问题
3.SDK包大小的优化
4.SDK的混淆和加密
5.SDK的版本兼容问题,比如客户使用的是android support,而你是androidx
本文将讲解SDK的初始化问题,当你的SDK中有application和写好回调方法提供给第三方客户时,客户的项目也有Application时怎么办?如果客户的项目使用的是组件化的话很好解决,如果没有的话,就比较麻烦,这里给出一个简单的方法:
在自定义的MyApp(继承自Application)类中自写一个public方法:
public static void setApp(Application app) { mInstance = app; }
2.打包成aar后,在新项目中的调用方法如下:
MyApp.setApp(this);
3.集成SDK后,实现的效果图如下:
4.可以看到界面成功加载,初始化也正常,SDK的初始化逻辑不影响项目。