4、缺少HMSagent的解决方法
1.将同级目录下的HMSSdk-agent.aar文件复制到工程的libs目录下
2.在build.gradle文件中增加如下:
3.在build.gradle文件中将HMSSdk-agent.aar加入dependencies
4.增加混淆配置
注:当前此方法仅仅适用于使用极光集成华为推送华为检测不通过的临时解决方案,当有接入华为的支付,sns等其它sdk时当前方法时不
适用的,请知悉。
5、新增兼容华为HMSSDK接口
HMSconnect失败时,需要根据错误码来判断是否能通过用户行为来解决该错误,所以增加新的接口来适配此种行为。接口所在类名
为:cn.jpush.android.api.JPluginPlatformInterface,以下所有接口需要在Activity中调用,并且Activity如果调用相关接口就必须全部调用.漏掉一
个接口则会导致内存泄漏或功能异常。如果在Activity中没有调用相关接口,在HMSSDK初始化失败并且可以通过用户行为解决的错误则会没有入
口解决。
注1:以上内容中“用户行为”指app使用者的操作行为,一般情况下就是点击HMS插件升级提示。
注2:本部分的内容主要适用于华为手机上的华为移动服务框架版本太低,导致华为通道初始化失败,此接口可以引导客户去升级华为移
动服务框架,用以启用华为的厂商通道。如果您不需要对手机上的华为移动服务框架进行检查,可以跳过此部分,此时手机依旧走极光通道。
示例代码:
‐dontwarncom.huawei.**
‐keeppublicclass*extendsandroid.app.Activity
‐keepinterfacecom.huawei.android.hms.agent.common.INoProguard{*;}
‐keepclass*extendscom.huawei.android.hms.agent.common.INoProguard{*;}
publicclassMainActivityextendsActivity{
privateJPluginPlatformInterfacepHuaweiPushInterface;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);