Android MQTT 使用的坑
Android studio 3.1.2
大概说一下场景:
我并不是直接用org.eclipse.paho.client.mqttv3-1.2.1.jar,而且在moduleA中创建了mqtt业务组件,
打包成A.aar ,再在app中引入使用aar。
经过代码分析发现2处错误:
- mqtt service初始化异常
- org.eclipse.paho.client.mqttv3.internal.nls中的配置缺失
解决1:
在moduleA中的AndroidManifest.xml中,service需要静态导入,动态导入可能会初始化异常或找不到等问题。
service android:name=”.NetWorkChangReceiver” /service>
应改为
service android:name=”com.test.NetWorkChangReceiver” /service>
解决2:
第一种方法:在主app中导入 org.eclipse.paho.client.mqttv3-1.2.1.jar
第二种方法:单独把国际化配置,写在moduleA中,创建包名和配置文件需要跟org.eclipse.paho.client.mqttv3-1.2.1.jar中一致
第三种方法:怀疑是打包aar可能有问题,打包遗失